Задача стоит в том, чтобы удалить все дубли из коллекции, затем отсортировав, преобразовать числа в строки. Никак не могу сообразить, что не так!
Моя реализация:
public static List<String> task1(List<Integer> source) {
source = new ArrayList<>(new HashSet<>(source));
Collections.sort(source);
String[] numbers = (String[]) source.toArray();
ArrayList g = new ArrayList(new ArrayList(Arrays.asList(numbers)));
return g;
}
Ошибка:
java.lang.ClassCastException: class [Ljava.lang.Object; cannot be cast to class [Ljava.lang.String; ([Ljava.lang.Object; and [Ljava.lang.String; are in module java.base of loader 'bootstrap')
Проблема в том, что нельзя так кастовать лист.
Для версии java 8+:
public static List<String> task1(List<Integer> source) {
return source.stream().distinct().sorted().map(String::valueOf)
.collect(Collectors.toList());
}
Для версий пониже:
public static List<String> task1(List<Integer> source) {
List<Integer> temp = new ArrayList<>(new HashSet<>(source));
Collections.sort(temp);
List<String> result = new ArrayList<>();
for (Integer i : temp) {
result.add(i.toString());
}
return result;
}
Сообразил все же)
public static List<String> task1(List<Integer> source) {
source = new ArrayList<>(new HashSet<>(source));
Collections.sort(source);
List<String> numbers = new ArrayList<>();
for (Object o : source) {
numbers.add(o.toString());
}
return numbers;
}
Можно так
public static List<String> task1(List<Integer> source) {
TreeSet<Integer> setNums = new TreeSet<>( source );
List<String> listNums = new ArrayList<>();
for ( Integer num : setNums ) {
listNums.add( num.toString() );
}
return listNums;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Здравствуйте имеются 3 entity (Doctor, Patient, Recipe) которые с помощью Hibernate замапленны в БДRecipe имеет в качестве поля Doctor и Patient
Я пишу написал приложение, которое открывает текстовый файл через Uri: (getContentResolver()openInputStream(mUri))