假设我有一个像这样的排序列表(按升序排列)ArrayList<Integer> arr = Arrays.asList(1, 2, 3, 5, 6)。列表中不会有重复项。
我想在正确的索引处添加一个整数,以便在添加元素后数组仍然排序,如下所示arr.add(4) // now arr = {1, 2, 3, 4, 5, 6}:
在通过使用或其他方式添加元素后,如何优雅地实现这一目标,而无需Collections.sort(arr)诉诸排序。
我正在寻找一种比我目前拥有的更好/更优雅的解决方案(我什至不知道它是否适用于所有情况哈哈):
int n = 4 // number I want to add to the list
boolean added = false;
for(int i < 0; i < arr.size(); i++) {
if(n < arr.get(i)) {
arr.add(i, n)
added = true;
break;
}
}
if(added == false) {
arr.add(n)
}
Run Code Online (Sandbox Code Playgroud)
我在这里先向您的帮助表示感谢!
我知道对于原始浮点类型(浮点数和双精度数),您不应该直接通过==. 但是如果您使用 double 的包装类怎么办?会像
Double a = 5.05;
Double b = 5.05;
boolean test = a.equals(b);
Run Code Online (Sandbox Code Playgroud)
正确比较两个值?