package com.ruoyi.business.domain;
/**
-
@ClassName Student
-
@Description
-
@Author 曹敏
-
@Date 2022/11/2 11:11
**/
public class Student {
private int id;
private String userName;
private String sfNo;public Student(int id, String userName, String sfNo) {
this.id = id;
this.userName = userName;
this.sfNo = sfNo;
}public Student() {
}
public int getId() {
return id;
}public void setId(int id) {
this.id = id;
}public String getUserName() {
return userName;
}public void setUserName(String userName) {
this.userName = userName;
}public String getSfNo() {
return sfNo;
}public void setSfNo(String sfNo) {
this.sfNo = sfNo;
}
}
package com.ruoyi.business.domain;
import com.alibaba.fastjson.JSONArray;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
-
@ClassName ListTest
-
@Description 把list,重复的身份证数据,提取出来放到一个新的list
-
@Author 曹敏
-
@Date 2022/11/2 13:22
**/
public class ListTest {
public static void main(String[] args) {
List testList = new ArrayList();
testList.add(new Student(1,“张一”,“123”));
testList.add(new Student(2,“张二”,“234”));
testList.add(new Student(3,“张三”,“123”));
testList.add(new Student(4,“张四”,“456”));
testList.add(new Student(5,“张五”,“567”));
testList.add(new Student(6,“张六”,“123”));
testList.add(new Student(7,“张七”,“456”));
testList.add(new Student(8,“张八”,“567”));
testList.add(new Student(9,“张九”,“678”));
testList.add(new Student(10,“张十”,“789”));List<Student> repeatList = new ArrayList<Student>();//用于存放重复的元素的list List<Student> newList=null; Map<String, Integer> map = new HashMap<>(); for (Student k: testList) { // 通过身份证号统计元素出现的次数 Integer count = map.get(k.getSfNo()); map.put(k.getSfNo(), (count == null) ? 1 : count + 1); // 身份证号首次出现不对数据进行过滤,map.get(k.getSfNo()) >1(出现第二次才根据身份证号进行过滤后的list,过滤后放到新的 newList) // 身份证号统计次数,map.get(k.getSfNo()) >3(出现第三次不过虑) if(map.get(k.getSfNo()) >1 && map.get(k.getSfNo())<3){ // 43行代码是对 testList 进行身份证号码进行过滤后的到新的 newList newList= testList.stream().filter(m->m.getSfNo().equals(k.getSfNo())).collect(Collectors.toList()); for (int n=0;n<newList.size();n++){ Student st = new Student(); st.setId(newList.get(n).getId()); st.setUserName(newList.get(n).getUserName()); st.setSfNo(newList.get(n).getSfNo()); repeatList.add(st); } } } System.out.println(JSONArray.toJSON(repeatList));
}
}