2017-03-22 1 views
0
ArrayList<Integer> hLProductList = getPointsValue(
        Utility.convertToTextList(mProductListingPage.getProductPoints())); 
      logReport("hLProductList : ===== " + hLProductList); 

List is displaying as hLProductList : ===== [2490, 990, 6870, 1870, 3740, 1240, 7370, 4370, 2870, 3740, 7370, 990, 2240, 3740, 7120, 3110, 1870, 2120, 3120, 8740, 930, 1870, 4370, 1240, 5620, 2620, 6240, 4620, 4990, 1870, 4120, 1240, 7120, 2120, 1870, 6990, 1620, 3110, 1610, 3240, 3870, 3120, 1870, 370, 2490, 3740, 1490, 3120] 

So überprüfen Sie diese Werteliste zwischen 1 und 10000 Bereich.?Überprüfen von Integer-Listenwerten zwischen einem bestimmten Bereich

Antwort

0

Wenn Sie überprüfen wollen, dass jedes Element der Liste zwischen den Grenzen, und Sie Java8 verwenden, können Sie den folgenden (Stream-Ansatz) tun:

if(hlProductList.stream().allMatch(x -> x>=1 && x<=10000)){ 
    //all in the range 
} 
else{ 
    //otherwise 
} 

Wenn Sie nicht verwenden Java8, in einer Schleife über die Liste laufen und jedes Element überprüfen:

boolean oneOutOfRange = false; 
for (Integer i : hlProductList){ 
    if (i>10000||i<1){ 
     oneOutOfRange=true; 
     break; 
    } 
    } 
if (oneOutOfRange){ 
} 
+2

Warum nicht einfach 'hlProductList.stream() allmatch (x -> x> = 1 && x <= 10000)'? –

+1

Ich verwende nicht java8 –

+1

@ OleV.V. Danke für den Hinweis, korrigiert! –

0

Sie können die convertToTextList Methode mit einem param Bereich und Ausgangsobjekt umschreiben wie folgt Ergebnis:

public Range{ 
    int start; 
    int end; 
} 
//... 
public Result{ 
    int[] listResult; 
    boolean outRange; 
} 

Ich stelle mir vor, dass es in der Methode convertToTextList einen Zyklus gibt, Sie können die Häufigkeit des Zyklus mit dem Parameter Range vergleichen, wenn es nicht null ist.

so haben Sie jetzt zwei Methoden:.

Result convertToTextList(List list, Range range){ 
    //...do new cycle with compare if range not null 
} 

//old method rewriting... optimezed 
int[] convertToTextList(List list){ 
    return convertToTextList(list, null).listResult; 
} 
Verwandte Themen