比较两个List是否相等,长度和内容都相等

谁践踏了优雅 2022-05-29 23:44 285阅读 0赞
  1. /**
  2. *list中存在重复数据,且顺序不一样 */
  3. import java.util.ArrayList;
  4. import java.util.Collections;
  5. import java.util.List;
  6. public class CompareList{
  7. public static void main(String[] args){
  8. List<String> list1 = new ArrayList<String>();
  9. List<String> list2 = new ArrayList<String>();
  10. list1.add("zhang");
  11. list1.add("li");
  12. list1.add("zhangs");
  13. list1.add("zhangs");
  14. list2.add("li");
  15. list2.add("zhangs");
  16. list2.add("zhang");
  17. list2.add("zhangs");
  18. //list进行排序
  19. Collections.sort(list1);
  20. Collections.sort(list2);
  21. //输出比较结果
  22. System.out.println(list1.equals(list2));
  23. }
  24. }

第二种:

  1. /** *list中存在重复数据,且顺序不一样 */ import java.util.ArrayList;
  2. import java.util.Comparator;
  3. import java.util.List;
  4. public class CompareList{
  5. public static void main(String[] args){
  6. List<String> list1 = new ArrayList<String>();
  7. List<String> list2 = new ArrayList<String>();
  8. list1.add("zhang");
  9. list1.add("li");
  10. list1.add("zhangs");
  11. list1.add("zhangs");
  12. list2.add("li");
  13. list2.add("zhangs");
  14. list2.add("zhangs");
  15. list2.add("zhang");
  16. list1.sort(new Comparator<String>() {
  17. @Override
  18. public int compare(String o1, String o2) {
  19. return o1.compareTo(o2);
  20. }
  21. });
  22. list2.sort(new Comparator<String>() {
  23. @Override
  24. public int compare(String o1, String o2) {
  25. return o1.compareTo(o2);
  26. }
  27. });
  28. if(list1.size() == list2.size() && list1.containsAll(list2)){
  29. System.out.println("true");
  30. }
  31. }
  32. }

发表评论

表情:
评论列表 (有 0 条评论,285人围观)

还没有评论,来说两句吧...

相关阅读

    相关 判断List是否相等

    最近一位同学在面试时被问到如何比较两个list是否相等?Java中的list是按自然顺序排列的。因此,如果两个list包含相同顺序的完全相同的元素,则认为它们是相等的,如果忽略

    相关 js比较对象是否相等

    > 前言:如何判断两个对象是否相等? 两个Object类型对象,即使拥有相同属性、相同值,当使用 == 或 === 进行比较时,也不认为他们相等。这就是因为他们是通过引用(内