【发布时间】:2020-05-12 03:37:49
【问题描述】:
假设我有一个像 thisArrayList<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)
}
提前感谢您的帮助!
【问题讨论】:
-
列表会有重复吗?
-
@RobbyCornelissen 对不起,我忘了提。列表中没有重复项。