java里List中有1,10,100,1000几个元素,排序后,根据参数T取出比它小的相邻的值
以下是一个示例代码,其中T为传入的参数,list为包含1,10,100,1000的List:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Main {
public static void main(String[] args) {
// 创建List并添加元素
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(10);
list.add(100);
list.add(1000);
// 排序
Collections.sort(list);
// 取出比T小的相邻的值
int T = 500;
int index = Collections.binarySearch(list, T);
if (index < 0) {
index = -(index + 1); // 如果T不在list中,则返回其应该插入的位置
}
if (index > 0) {
System.out.println(list.get(index - 1)); // 取出比T小的值
}
if (index < list.size()) {
System.out.println(list.get(index)); // 取出比T大的值
}
}
}
在上面的代码中,使用了Collections.sort()方法对List进行排序,然后使用Collections.binarySearch()方法查找T在List中的位置。如果T不在List中,则返回其应该插入的位置。然后根据位置取出比T小和比T大的值。
原文地址: http://www.cveoy.top/t/topic/thB 著作权归作者所有。请勿转载和采集!