«Это дает мне самое низкое к высшему».
Если вы в настоящее время становится низшего к высшему, и вы хотите его в обратном порядке, просто используйте
Collections.reverseOrder()
- Возвращает компаратор, который налагает реверс естественного упорядочения на коллекции объекты, реализующие интерфейс Comparable.
В вашем случае:
Collections.sort(a, Collections.reverseOrder());
Collections.reverseOrder()
возвращает Comparator
. Используйте этот Collections.sort
перегруженный метод, который принимает Comparator
в качестве аргумента
public static void sort(List list, Comparator c)
EDIT - на комментарий пользователя
«Окей, теперь я хочу, чтобы изменить Даты списка в междунар и строки . Как это сделать ?"
Что вы должны сделать, это класс, который имеет name
поле и score
поле и сделать его реализовать Comparable
как
public class User implements Comparable<User> {
String name;
int score;
public User(String name, int score){
this.name = name;
this.score = score;
}
public int compareTo(User user){
return user.getScore() - this.getScore();
}
public String getName(){
return name;
}
public int getScore(){
return score;
}
public String toString(){
return "Name: " + name + " Score: " + score;
}
}
Тогда вы можете просто User objects
и имеют List<User>
, что вы можете сортировать все в одном, не сортируя оценки и имена.
List<User> userList = new ArrayList<User>();
// populate list
Collections.sort(userList);
Метод toString
даст вам результат в виде строки.Просто вывести User
объект
Test Run
import java.util.Collections;
import java.util.List;
public class UserDemo {
public static void main(String[] args) {
List<User> users = new ArrayList<User>();
users.add(new User("Jim", 4398));
users.add(new User("James", 9880));
users.add(new User("Jane", 10238));
users.add(new User("Jack", 5498));
users.add(new User("Josh", 6530));
users.add(new User("John", 12349));
users.add(new User("Jim", 9438));
users.add(new User("Jill", 12307));
users.add(new User("Jimbo", 23454));
users.add(new User("Jason", 5430));
Collections.sort(users);
for (User user : users) {
System.out.println(user);
}
}
}
Выход:
Name: Jimbo Score: 23454
Name: John Score: 12349
Name: Jill Score: 12307
Name: Jane Score: 10238
Name: James Score: 9880
Name: Jim Score: 9438
Name: Josh Score: 6530
Name: Jack Score: 5498
Name: Jason Score: 5430
Name: Jim Score: 4398
ли это в настоящее время дает вам низшего к высшему? –
Это дает мне самое низкое к самому высокому. – Ethris