Дано списка массива и сортируетНайти меньше или равно X из дублированного отсортированного списка
ArrayList<Integer> list1 = new ArrayList<>();
list1.add(1);
list1.add(4);
list1.add(15);
list1.add(16);
list1.add(3);
list1.add(3);
list1.add(8);
System.out.println(list1); // [1, 4, 15, 16, 3, 3, 8]
Collections.sort(list1,3);
System.out.println(list1); // [1, 3, 3, 4, 8, 15, 16]
To find larger или равно в отсортированном дублируются список, скажем, «3»
int index = Collections.binarySearch(list1, 3);
ArrayList<Integer> list2 = new ArrayList<> (list1.subList(index < 0 ? - index - 1 : index, list1.size()));
которые дают нам
[3,3,4,8,15,16]
Но как это сделать для меньшего или равного случая? Вот что я пробовал.
ArrayList<Integer> list3 = new ArrayList<> (list1.subList(0, index < 0 ? - index - 1 : index + 1));
, какой выход
[1, 3]
ожидается выход
[1, 3, 3]
Вы хотите, чтобы найти все дубликаты, которые больше определенного числа? (3 в вашем примере) – c0der
@OferYuval, мое плохое, оно должно быть меньше или равно 3. – karfai
Можете ли вы сделать сортировку и найти дубликаты при добавлении номеров в список? Или вам нужен список после того, как все номера были добавлены к нему? – c0der