TreeMap本身是有序的数据结构,默认升序排序,重新转存一次即可实现,但是List这样的数据结构本身存储是否合理需要自己在琢磨下,这样强转一次似乎有些太过多余。
package github.banana.demo;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
public class BeanSort {
public static void main(String[] args) {
List beans = new ArrayList<>();
beans.add(new Bean("1111", "test1", "数据1"));
beans.add(new Bean("test1", "test2", "数据2"));
beans.add(new Bean("test2", "test3", "数据3"));
beans.add(new Bean("test5", "test6", "数据4"));
beans.add(new Bean("test6", "test7", "数据5"));
beans.add(new Bean("test3", "test4", "数据6"));
beans.add(new Bean("test4", "test5", "数据7"));
Map map = new TreeMap<>();
for (Bean b : beans) {
map.put(b.getTwo(), b);
}
for (Map.Entry entry : map.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
@Data
class Bean {
private String one;
private String two;
private String desc;
Bean(String one, String two, String desc) {
this.one = one;
this.two = two;
this.desc = desc;
}
}