/jdk1.8新特性集合去重以及排序/
public static void main(String[] args) {
List<User> users = new ArrayList<>();
User user = new User();
user.setId(1l);
user.setEmail("88.com");
user.setUserName("小明");
User user4 = new User();
user4.setId(2l);
user4.setEmail("88.com");
user4.setUserName("小3");
User user2 = new User();
user2.setId(2l);
user2.setEmail("883.com");
user2.setUserName("小1");
users.add(user);
users.add(user2);
users.add(user4);
/*jdk1.8Lambda 表达式遍历*/
users.forEach(a ->
System.out.println(a.getUserName())
);
/*jdk1.8排序并去重 并且默认按升序*/
List<User> users2 = new ArrayList<>();
users2.add(user);
users2.add(user4);
users2.add(user2);
/*筛选*/
users2 = users2.stream().filter(a -> a.getId() == 2l).collect(Collectors.toList());
users2.forEach(a ->
System.out.println(a.getId()+"==="+a.getUserName())
);
users2 = users2.stream().collect(
Collectors.collectingAndThen(Collectors.toCollection(
() -> new TreeSet<>(Comparator.comparing(o -> o.getId()))), ArrayList::new));
users2.forEach(a ->
System.out.println(a.getId()+"==="+a.getUserName())
);
数组排序:
int[] Ir ={1,2,3,4,5,6,7,8,9,0};
List<Integer> IK = new ArrayList<Integer>();
int ren = 4;
for (int i = 0;i<Ir.length;i++){
IK.add(Ir[i]);
}
IK.add(ren);
Collections.sort(IK);
IK.forEach(a ->
System.out.println(a)
);
时间排序:
List<Date> list = new ArrayList<>();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String a = "2019-10-12";
String b = "2019-10-13";
String c = "2019-10-11";
try {
list.add(format.parse(a));
list.add(format.parse(b));
list.add(format.parse(c));
} catch (Exception e) {
}
Collections.sort(list);
for (Date l : list) {
System.out.println(format.format(l));
}
Collections.sort(list,new Comparator<Date>() {
public int compare(Date o1, Date o2) {
// 返回值为int类型,大于0表示正序,小于0表示逆序
return o2.compareTo(o1);
}
});
for (Date l:list){
System.out.println(format.format(l));
}
//缩写jdk1.8 lambda表达式:
Collections.sort(list,(g,h)->h.compareTo(g));
for (Date l:list){
System.out.println(format.format(l));
}
}