# HG changeset patch # User Sascha L. Teichmann # Date 1380988336 -7200 # Node ID fe32a7f9655e0a00483de1158c07a7f466f81402 # Parent 90a3bcd8060aebb5a7b2b570183e9e9ca3cb59c4 Reduce usage of careless 'for (int i = 0; i < x.size(); i++)' pattern. diff -r 90a3bcd8060a -r fe32a7f9655e artifacts/src/main/java/org/dive4elements/river/artifacts/model/Calculation4.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/Calculation4.java Sat Oct 05 12:49:53 2013 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/Calculation4.java Sat Oct 05 17:52:16 2013 +0200 @@ -339,19 +339,21 @@ infoldings.add(infolding); } - for (int i = 0; i < infoldings.size(); i++) { - String name = infoldings.get(i).getName(); + for (int i = 0, I = infoldings.size(); i < I; i++) { + ConstantWQKms infolding = infoldings.get(i); + String name = infolding.getName(); // TODO: i18n if (i == 0) { - infoldings.get(i).setName("untere Umh\u00fcllende " + name); + infolding.setName("untere Umh\u00fcllende " + name); } - else if (i == infoldings.size() - 1) { - infoldings.get(i).setName("obere Umh\u00fcllende " + name); + else if (i == I-1) { + infolding.setName("obere Umh\u00fcllende " + name); } else { - infoldings.get(i).setName("geschnitten " + name); + infolding.setName("geschnitten " + name); } } + return infoldings.toArray(new ConstantWQKms[infoldings.size()]); } diff -r 90a3bcd8060a -r fe32a7f9655e artifacts/src/main/java/org/dive4elements/river/artifacts/model/WQ.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/WQ.java Sat Oct 05 12:49:53 2013 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/WQ.java Sat Oct 05 17:52:16 2013 +0200 @@ -126,8 +126,10 @@ // When we convert and have a datum we have a calculated // result at a gauge so we must subtract the datum. double subtractDatum = datum == null ? 0 : datum.doubleValue(); - for (int i=0; i < wq.size(); i++) { - ret.add((wq.get(i)[0] - subtractDatum)* 100, wq.get(i)[1]); + double [] data = new double[8]; + for (int i = 0, WQ = wq.size(); i < WQ; i++) { + wq.get(i, data); + ret.add((data[0] - subtractDatum)*100d, data[1]); } log.debug("Converted W values to centimeter and substracted: " + subtractDatum); return ret; diff -r 90a3bcd8060a -r fe32a7f9655e artifacts/src/main/java/org/dive4elements/river/artifacts/model/map/HWSFactory.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/map/HWSFactory.java Sat Oct 05 12:49:53 2013 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/map/HWSFactory.java Sat Oct 05 17:52:16 2013 +0200 @@ -168,8 +168,7 @@ sqlQuery.setString("river", river); List resultsPoints = sqlQuery.list(); - for (int i = 0; i < resultsPoints.size(); i++) { - Object[] row = resultsPoints.get(i); + for (Object [] row: resultsPoints) { container.addHws( new HWS( (String) row[0], diff -r 90a3bcd8060a -r fe32a7f9655e artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedHeightFactory.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedHeightFactory.java Sat Oct 05 12:49:53 2013 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedHeightFactory.java Sat Oct 05 17:52:16 2013 +0200 @@ -152,8 +152,7 @@ sqlQuery.setInteger("height_id", height_id); List results = sqlQuery.list(); - for (int i = 0; i < results.size(); i++) { - Object[] row = results.get(i); + for (Object [] row: results) { log.debug("got station: " + (Double)row[1]); Double row0 = row[0] != null ? (Double)row[0] : Double.NaN; Double row1 = row[1] != null ? (Double)row[1] : Double.NaN; diff -r 90a3bcd8060a -r fe32a7f9655e artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/MorphologicWidthFactory.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/MorphologicWidthFactory.java Sat Oct 05 12:49:53 2013 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/MorphologicWidthFactory.java Sat Oct 05 17:52:16 2013 +0200 @@ -82,8 +82,7 @@ List results = sqlQuery.list(); MorphologicWidth widths = new MorphologicWidth(); - for (int i = 0; i < results.size(); i++) { - Object[] row = results.get(i); + for (Object [] row: results) { log.debug("got station: " + (Double)row[0]); widths.add( (Double) row[0], diff -r 90a3bcd8060a -r fe32a7f9655e artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentDensity.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentDensity.java Sat Oct 05 12:49:53 2013 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentDensity.java Sat Oct 05 17:52:16 2013 +0200 @@ -79,7 +79,7 @@ return getDensityAtKm(densities.get(years.get(0)), km); } else if (this.years.size() > 1) { - for (int i = 0; i < years.size() -1; i++) { + for (int i = 0, I = years.size()-1; i < I; i++) { int y1 = years.get(i); int y2 = years.get(i + 1); if (year >= y1 && year < y2) { diff -r 90a3bcd8060a -r fe32a7f9655e artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadCalculation.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadCalculation.java Sat Oct 05 12:49:53 2013 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadCalculation.java Sat Oct 05 17:52:16 2013 +0200 @@ -237,7 +237,7 @@ } } - for (int j = 0; j < kms.size(); j++) { + for (int j = 0, J = kms.size(); j < J; j++) { calculateEpochKm(epochLoads, resLoad, kms.get(j)); } resLoad.setDescription(""); diff -r 90a3bcd8060a -r fe32a7f9655e artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadFacet.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadFacet.java Sat Oct 05 12:49:53 2013 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadFacet.java Sat Oct 05 17:52:16 2013 +0200 @@ -153,7 +153,7 @@ int i = 0; for (Map.Entry kmLoad: sortedKmLoad.entrySet()) { boolean matchFound = false; - for (int k = 0; k < stations.size(); k++) { + for (int k = 0, S = stations.size(); k < S; k++) { MeasurementStation station = stations.get(k); if (Math.abs(station.getStation() - kmLoad.getKey()) < EPSILON) { // Value has been taken at measurement station. @@ -162,7 +162,7 @@ double endValue = 0d; // Valid until next measurements stations begin of range, // or end of current range if last value. - if (k+2 <= stations.size()) { + if (k+2 <= S) { endValue = stations.get(k+1).getRange().getA().doubleValue(); } else { diff -r 90a3bcd8060a -r fe32a7f9655e artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadFactory.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadFactory.java Sat Oct 05 12:49:53 2013 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadFactory.java Sat Oct 05 17:52:16 2013 +0200 @@ -323,7 +323,7 @@ sqlQuery.setDouble("endKm", endKm); List results = sqlQuery.list(); SedimentLoad[] loads = new SedimentLoad[results.size()]; - for (int i = 0; i < results.size(); i++) { + for (int i = 0, R = results.size(); i < R; i++) { Object[] row = results.get(i); loads[i] = new SedimentLoad( (String) row[0], @@ -345,7 +345,7 @@ List results = sqlQuery.list(); SedimentLoad[] loads = new SedimentLoad[results.size()]; - for (int i = 0; i < results.size(); i++) { + for (int i = 0, R = results.size(); i < R; i++) { Object[] row = results.get(i); loads[i] = new SedimentLoad( (String) row[0], @@ -366,7 +366,7 @@ List results = sqlQuery.list(); SedimentLoad[] loads = new SedimentLoad[results.size()]; - for (int i = 0; i < results.size(); i++) { + for (int i = 0, R = results.size(); i < R; i++) { Object[] row = results.get(i); loads[i] = new SedimentLoad( ((Date) row[0]).toString() + (Date) row[1], @@ -455,7 +455,7 @@ ? suspStations : floatStations; - for (int i = 0; i < results.size(); i++) { + for (int i = 0, R = results.size(); i < R; i++) { row = results.get(i); double km = (Double) row[2]; Range range = findMeasurementStationRange(relevantStations, km); @@ -608,7 +608,7 @@ true, (String)row[5]); TDoubleArrayList kms = new TDoubleArrayList(); - for (int i = 0; i < results.size(); i++) { + for (int i = 0, R = results.size(); i < R; i++) { row = results.get(i); kms.add((Double)row[3]); load.setLoadTotal((Double)row[3], (Double)row[2]); @@ -680,7 +680,7 @@ (String)row[5]); } - for (int i = 0; i < results.size(); i++) { + for (int i = 0, R = results.size(); i < R; i++) { Object[] row = results.get(i); double km = (Double)row[3]; Range range = findMeasurementStationRange(stations, km); @@ -799,7 +799,7 @@ false, (String)row[5]); - for (int i = 0; i < results.size(); i++) { + for (int i = 0, R = results.size(); i < R; i++) { row = results.get(i); SedimentLoadFraction fraction = new SedimentLoadFraction(); fraction.setUnknown((Double)row[3]); diff -r 90a3bcd8060a -r fe32a7f9655e artifacts/src/main/java/org/dive4elements/river/artifacts/states/StaticWQKmsState.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/states/StaticWQKmsState.java Sat Oct 05 12:49:53 2013 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/states/StaticWQKmsState.java Sat Oct 05 17:52:16 2013 +0200 @@ -85,7 +85,7 @@ // is != -1 boolean qEmpty = true; TDoubleArrayList qs = wqkms.allQs(); - for (int i = 0; i < qs.size(); i++) { + for (int i = 0, Q = qs.size(); i < Q; i++) { if (qs.getQuick(i) != -1d) { qEmpty = false; break; diff -r 90a3bcd8060a -r fe32a7f9655e artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/BedQualityState.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/BedQualityState.java Sat Oct 05 12:49:53 2013 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/BedQualityState.java Sat Oct 05 17:52:16 2013 +0200 @@ -128,11 +128,11 @@ List diameters = access.getBedDiameter(); List loadDiameters = access.getBedloadDiameter(); List ranges = access.getDateRanges(); - for (int i = 0; i < ranges.size(); i++) { + for (int i = 0, R = ranges.size(); i < R; i++) { DateRange range = ranges.get(i); for (String diameter: diameters) { int ndxTop = generateIndex(diameter); - int ndxSub = generateIndex(diameter); + int ndxSub = ndxTop; // TODO: Is this correct? ndxTop += 1; ndxTop = ndxTop << 3; ndxSub = ndxSub << 3; diff -r 90a3bcd8060a -r fe32a7f9655e artifacts/src/main/java/org/dive4elements/river/exports/LegendProcessor.java --- a/artifacts/src/main/java/org/dive4elements/river/exports/LegendProcessor.java Sat Oct 05 12:49:53 2013 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/LegendProcessor.java Sat Oct 05 17:52:16 2013 +0200 @@ -119,7 +119,7 @@ // Remove the shapes of all but the first items, // to prevent "overfill" of legenditemblock. - for (int i = 0; i < itemList.size(); i++) { + for (int i = 0, I = itemList.size(); i < I; i++) { if (i != 0) { LegendItem litem = itemList.get(i); diff -r 90a3bcd8060a -r fe32a7f9655e artifacts/src/main/java/org/dive4elements/river/exports/OutputHelper.java --- a/artifacts/src/main/java/org/dive4elements/river/exports/OutputHelper.java Sat Oct 05 12:49:53 2013 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/OutputHelper.java Sat Oct 05 17:52:16 2013 +0200 @@ -83,7 +83,7 @@ doBlackboardPass(themeList, context, outName); try { - for (int i = 0; i < themeList.size(); i++) { + for (int i = 0, T = themeList.size(); i < T; i++) { ManagedFacet theme = themeList.get(i); if (theme == null) { diff -r 90a3bcd8060a -r fe32a7f9655e artifacts/src/main/java/org/dive4elements/river/exports/WaterlevelExporter.java --- a/artifacts/src/main/java/org/dive4elements/river/exports/WaterlevelExporter.java Sat Oct 05 12:49:53 2013 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/WaterlevelExporter.java Sat Oct 05 17:52:16 2013 +0200 @@ -390,7 +390,7 @@ } } } else { - for (int i = 0; i < wqkms.size(); i++) { + for (int i = 0, N = wqkms.size(); i < N; i++) { dp = wqkms.get(i, dp); if (dp[2] < last + 1E-5 && dp[2] > first - 1E-5) { filtered.add(dp[0], dp[1], dp[2]); diff -r 90a3bcd8060a -r fe32a7f9655e artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedQualityExporter.java --- a/artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedQualityExporter.java Sat Oct 05 12:49:53 2013 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedQualityExporter.java Sat Oct 05 17:52:16 2013 +0200 @@ -15,7 +15,7 @@ import java.text.DateFormat; import java.text.NumberFormat; import java.util.Arrays; -import java.util.LinkedList; +import java.util.ArrayList; import java.util.List; import org.apache.log4j.Logger; @@ -71,18 +71,20 @@ BedDiameterResult[] beds = results[i].getBedResults(); for (int j = 0; j < beds.length; j++) { TDoubleArrayList bkms = beds[j].getKms(); - for (int k = 0; k < bkms.size(); k++) { - if (!kms.contains(bkms.get(k))) { - kms.add(bkms.get(k)); + for (int k = 0, K = bkms.size(); k < K; k++) { + double km = bkms.get(k); + if (!kms.contains(km)) { // XXX: O(N^2) + kms.add(km); } } } BedloadDiameterResult[] loads = results[i].getBedloadResults(); for (int j = 0; j < loads.length; j++) { TDoubleArrayList lkms = loads[i].getKms(); - for (int k = 0; k < lkms.size(); k++) { - if (!kms.contains(lkms.get(k))) { - kms.add(lkms.get(k)); + for (int k = 0, L = lkms.size(); k < L; k++) { + double km = lkms.get(k); + if (!kms.contains(km)) { // XXX: O(N^2) + kms.add(km); } } } @@ -94,8 +96,8 @@ } kms.sort(); - List rows = new LinkedList(); - for (int i = 0; i < kms.size(); i++) { + List rows = new ArrayList(kms.size()); + for (int i = 0, K = kms.size(); i < K; i++) { double[] row = new double[cols]; double km = kms.get(i); row[0] = km; @@ -134,7 +136,7 @@ } for (double[] d : rows) { logger.debug(Arrays.toString(d)); - List cells = new LinkedList(); + List cells = new ArrayList(d.length); for (int i = 0; i < d.length; i++) { if (!Double.isNaN(d[i])) { NumberFormat nf = Formatter.getFormatter(context, 1, 3); @@ -174,7 +176,7 @@ protected void writeCSVHeader(CSVWriter writer) { logger.debug("writeCSVHeader()"); - List header = new LinkedList(); + List header = new ArrayList(); if (results != null) { header.add(msg(CSV_HEADER_KM, "km")); for (int i = 0; i < results.length; i++) { diff -r 90a3bcd8060a -r fe32a7f9655e artifacts/src/main/java/org/dive4elements/river/exports/sq/SQOverviewGenerator.java --- a/artifacts/src/main/java/org/dive4elements/river/exports/sq/SQOverviewGenerator.java Sat Oct 05 12:49:53 2013 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/sq/SQOverviewGenerator.java Sat Oct 05 17:52:16 2013 +0200 @@ -151,7 +151,7 @@ } BufferedImage result = new BufferedImage(size[0], size[1], BufferedImage.TYPE_INT_RGB); - for (int i = 0; i < charts.size(); i++) { + for (int i = 0, S = charts.size(); i < S; i++) { logger.debug("index: " + i); JFreeChart chart = charts.get(i); ChartRenderingInfo info = new ChartRenderingInfo();