62,620
社区成员
发帖
与我相关
我的任务
分享[{"id":1,"name":张三},{"id":2,"name":李四},{"id":1,"name":李宁},{"id":3,"name":王某},{"id":2,"name":陈某}]
public class Student {
private int id;
private String name;
public int getId(){
return id;
}
public void setId(int id){
this.id=id;
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
}List<Student> students = new ArrayList<Student>();
Student stu1 = new Student("1", "张三");
Student stu2 = new Student("2", "李四");
Student stu3 = new Student("1", "李宁");
Student stu4 = new Student("3", "王某");
Student stu5 = new Student("2", "陈某");
students.add(stu1);
students.add(stu2);
students.add(stu3);
students.add(stu4);
students.add(stu5);for (int i = 0; i < students.length; i++) {
List<Student> list=new ArrayList<Student>(); //用于存放id相同的元素
}
第一个list
[{"id":1,"name":张三},{"id":1,"name":李宁},]
第二个list
[{"id":2,"name":李四},{"id":2,"name":陈某}]
第三个list
[{"id":3,"name":王某}]
List<List<Student>> result = new ArrayList<>(); //最终结果集
for (Student ss : students) { //遍历students
boolean found = false;
for (int j=0; j<result.size(); j++) {
Student s = result.get(j).get(0);
if (s.getStudentNo().equals(ss.getStudentNo())) { //如果学号
found = true;
result.get(j).add(ss); //放到同一个组
break;
}
}
if (! found) { //如果没有相同的组,则新做成一个组
List<Student> l = new ArrayList<>();
l.add(ss);
result.add(l);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
List<Student> students = new ArrayList<Student>();
Student stu1 = new Student("1", "张三");
Student stu2 = new Student("2", "李四");
Student stu3 = new Student("1", "李宁");
Student stu4 = new Student("3", "王某");
Student stu5 = new Student("2", "陈某");
students.add(stu1);
students.add(stu2);
students.add(stu3);
students.add(stu4);
students.add(stu5);
sort(students);
}
static void sort (List<Student> stus) {
List<Student> list=new ArrayList<Student>();
for(int i=0;i<stus.size();i++) {
if(list.size()==0) {
list.add(stus.get(i));
stus.remove(i);
}else if (stus.get(i).getStudentNo().equals(list.get(0).getStudentNo())) {
list.add(stus.get(i));
stus.remove(i);
}
}
System.out.println(list);
if(stus.size()>0l) {
sort(stus);
}
}
public class Student {
private String id;
private String name;
public Student(String studentNo, String name) {
super();
this.id = studentNo;
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getStudentNo() {
return id;
}
public void setStudentNo(String studentNo) {
this.id = studentNo;
}
@Override
public String toString() {
return "{ \" id\":" + id + ", \"name\":" + name + "}";
}
}