0

値 4500 を取得する方法はありますか? 最高値と最低値に collection.max または collection.min を使用できることはわかっていますが、その間の値を取得するにはどうすればよいですか? ありがとう

int value = 4000;

for(int i = 0; i < Array.size();i++){
        Array.get(i);

    if (value < Array.get(i) && value <= Array.get(i))
    {
        value=????;


    }

Array.add(1000);
Array.add(2000);
Array.add(3000);
Array.add(4500);    
Array.add(5000);
Array.add(8000);
4

1 に答える 1

1

データがソートされている場合は、BinarySearchそれ以外の場合は実行しますLinearSearch

例えば

Collections.binarySearch(array,value);

線形検索:

int size = array.size();
for(int i=0;i<size;i++){
   if(array.get(i) >= value){       
      if ( i + 1 < size){
         return array.get(i+1);  
      }
      else {
         // No element found                    
      }
}      
于 2013-02-14T18:01:42.043 に答える