-2
私はソートに関連するいくつかの質問を見ましたが、私は実際に欲しいものを達成できませんでした。Javaでarraylistをグループ化しソートする
私はこの
class User{
String userName;
String phoneNumber;
public User(String userName, String phoneNumber) {
this.userName = userName;
this.phoneNumber = phoneNumber;
}
}
のようなクラスは、その後、私は私が
A-- Aca, Aka
B-- BBc , Bla
C-- Cda, Cla
のように、アルファベット順に
User
のユーザ名によってグループデータに望んでいたこの
ArrayList<User> users = new ArrayList<User>();
users.add(new User("Aca","223554"));
users.add(new User("Ada","223544"));
users.add(new User("Cda","323544"));
users.add(new User("Bbc","323544"));
users.add(new User("Bla","323544"));
users.add(new User("Aka","123554"));
users.add(new User("Cla","323544"));
のようないくつかのデータを追加している必要があり
そして、後でそれをHashMapに入れたい。
Map<String,ArrayList<User>> userMap = new HashMap<String, ArrayList<User>>();
userMap.put("A", usersLisA); //usersLisA is an ArrayList of user whose name starts with A
userMap.put("B", usersLisB); //usersLisB is an ArrayList of user whose name starts with B
など。
それは電話帳、彼らはソートやグループ、ユーザーに留意しなければアルファベット順
ことの一つの方法のようなものですが、私はJava7
に達成したいです。
ご協力いただければ幸いです。
あなたは明らかに十分ではありません。周囲の文学はたくさんあります。 – Mena
もっとやってみると、 'userName'でソートしてから、ループしてハッシュマップを埋め込むことができます。 –
Userのequals hashCodeとcompareToを実装します。次に、HashMapの代わりにTreeMapを使用します。 –