资讯详情

java 8 Lambda表达式List转实体,及一些常用方法

public static voidmain(String[] args) {

///排序条件

List orderRegulation = Arrays.asList("G102", "G103", "G108", "29", "28", "25", "24", "G109", "G105", "26", "21");

//targetList进行排序

List targetList = new ArrayList();

Posts post3= newPosts();

post3.setId("G102");

post3.setName("xiaoli3");

post3.setAge("23");

Posts post2= newPosts();

post2.setId("G103");

post2.setName("xiaoli2");

post2.setAge("22");

Posts post4= newPosts();

post4.setId("G109");

post4.setName("xiaoli4");

post4.setAge("25");

Posts post7= newPosts();

post7.setId("G107");

post7.setName("xiaoli7");

post7.setAge("21");

Posts post8= newPosts();

post8.setId("G101");

post8.setName("xiaoli8");

post8.setAge("26");

Posts post5= newPosts();

post5.setId("G105");

post5.setName("xiaoli5");

post5.setAge("27");

Posts post1= newPosts();

post1.setId("G104");

post1.setName("xiaoli1");

post1.setAge("29");

Posts post6= newPosts();

post6.setId("G106");

post6.setName("xiaoli6");

post6.setAge("23");

Posts post9= newPosts();

post9.setId("G106");

post9.setName("xiaoli9");

post9.setAge("25");

Posts post10= newPosts();

post10.setId("G104");

post10.setName("xiaoli10");

post10.setAge("28");

targetList.add(post1);

targetList.add(post2);

targetList.add(post3);

targetList.add(post4);

targetList.add(post5);

targetList.add(post6);

targetList.add(post7);

targetList.add(post8);

targetList.add(post9);

targetList.add(post10);

System.out.println("排列前的数据:");

targetList.forEach(t-> System.out.print(t.getId() t.getName() "~" t.getAge() " "));

System.out.println();

setListOrder(orderRegulation, targetList);

System.out.println("排序规则:");

orderRegulation.forEach(t-> System.out.print(t " "));

System.out.println();

System.out.println("排列数据:");

targetList.forEach(t-> System.out.print(t.getId() t.getName() "~" t.getAge() " "));

}///平时可以用其中一个排序,以下是两个条件的综合排序

public static void setListOrder(List orderRegulation, ListtargetList) {//按照Posts的Id来排序

Collections.sort(targetList, ((o1, o2) ->{int io1 =orderRegulation.indexOf(o1.getId());int io2 =orderRegulation.indexOf(o2.getId());

//如果排序值在多余排序条件下的值,则将多余值放在排序值后面if (io1 == -1) {

io1= targetList.size() -io1;

}if (io2 == -1) {

io2= targetList.size() -io2;

}return io2 -io1;

}));//按照Posts的age来排序

Collections.sort(targetList, ((o1, o2) ->{int io1 =orderRegulation.indexOf(o1.getAge());int io2 =orderRegulation.indexOf(o2.getAge());if (io1 == -1) {

io1= targetList.size() -io1;

}if (io2 == -1) {

io2= targetList.size() -io2;

}return io2 -io1;

}));

}

标签: g108电容

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台