import java.util.ArrayList; import java.util.List; public class Javatest91 { /** * 枚举、泛型 * 练习1:list1=[A,B,C],list2=[B,C,A],对比两个列表,内容相同返回ture,不同返回false。 * 要求定义一个泛型方法实现(解决类型侵入的问题) * 说明:A可以任意类型的对象, * //学生类 * class Stu{ * String id; * String name; * int age; * * public Stu(String id, String name, int age) { * this.id = id; * this.name = name; * this.age = age; * } * * public String getId() { * return id; * } * * public void setId(String id) { * this.id = id; * } * * public String getName() { * return name; * } * * public void setName(String name) { * this.name = name; * } * * public int getAge() { * return age; * } * * public void setAge(int age) { * this.age = age; * } * * @Override * public String toString() { * return "Stu{" + * "id='" + id + '\'' + * ", name='" + name + '\'' + * ", age=" + age + * '}'; * } */ public static void main(String[] args) { //创建集合 List<Stu> list1 = new ArrayList<>(); list1.add(new Stu("001","Jack",16)); list1.add(new Stu("002","Make",17)); List<Stu> list2 = new ArrayList<>(); list2.add(new Stu("002","Make",17)); list2.add(new Stu("001","Jack",16)); boolean flag = compare(list1,list2); System.out.println(flag); } //比较list1和list2的内容 public static boolean compare(List<Stu> list1,List<Stu> list2) { //1、比较元素个数是否相同 if (list1.size() != list2.size()) { return false; } //2、比较内容 for (int i = 0; i < list1.size(); i++) { Stu stu1 = list1.get(i); boolean flag = false; for (int j = 0; j < list2.size(); j++) { Stu stu2 = list2.get(j); boolean compareResult = compareStu(stu1, stu2); if (compareResult) { //比较内容相同,flag置为true flag = true; break; } } //遍历结束,无相同内容,return false if (!flag) { return false; } } return true; } //比较两个对象内容是否一致 private static boolean compareStu(Stu stu1, Stu stu2) { if(stu1.id == stu2.id && stu1.name == stu2.name && stu1.age == stu2.age){ return true; } return false; } }