我在 arraylist 中添加了几个数字。我想从中找到某个值。例如,我有 4、4、9、9、18。我想找到 26 的值。如果 26 > 列表中的最大值,它将显示 18,如果值为 17,它将显示 9,如果值为 5,它将显示 4。还有另一种方法来实现这个搜索,因为班轮搜索可能很慢。
search value 26
[4,4,9,9,18] display 18
[20,20,29,29,4] display 20
[28,28,28,1,10] display 28
如果你有这个列表并搜索 26,它将输出第一个元素。因为第一个元素 <= 比正在搜索的值。
但目前的输出是
value2 的值:9
public class Arraylist {
public static ArrayList<Integer> aList;
public static void main(String[] args) {
aList = new ArrayList<Integer>();
aList.add(4);
aList.add(4);
aList.add(9);
aList.add(9);
aList.add(18);
int value = 26;
int value2 = 0;
for (int i = 0; i < aList.size(); i++) {
if (aList.get(i) <= value) {
if (i + 1 < aList.size()) {
value2 = aList.get(i);
} else if(i > aList.size()) {
value2 = aList.get(i);
}
}
}
System.out.println("Value of value2 : " + value2);
}
}