21xrx.com
2024-11-25 03:17:51 Monday
登录
文章检索 我的文章 写文章
如何判断一个List是否包含另一个List?Java实现方法。
2023-07-04 19:36:18 深夜i     --     --
List 包含 判断 Java 方法

在Java编程中,我们经常需要判断一个List是否包含另一个List,这在实际开发中很常见,比如在两个集合合并时需要判断元素是否重复。下面介绍几种判断List包含关系的方法:

方法一:使用containsAll()方法

List类中的containsAll()方法可以用于判断一个List是否包含另一个List,该方法接收一个Collection类型的参数,返回一个boolean类型的值,表示是否包含。示例代码如下:


List<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 3, 4));

List<Integer> list2 = new ArrayList<>(Arrays.asList(2, 3));

boolean contains = list1.containsAll(list2);

System.out.println(contains); // 输出 true

方法二:使用retainAll()方法

List类中的retainAll()方法可以用于求两个List的交集,如果交集的大小等于被判断的List的大小,则说明包含。示例代码如下:


List<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 3, 4));

List<Integer> list2 = new ArrayList<>(Arrays.asList(2, 3));

List<Integer> tempList = new ArrayList<>(list1);

tempList.retainAll(list2);

boolean contains = tempList.size() == list2.size();

System.out.println(contains); // 输出 true

方法三:使用循环遍历

我们可以使用循环遍历的方式判断是否包含。示例代码如下:


List<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 3, 4));

List<Integer> list2 = new ArrayList<>(Arrays.asList(2, 3));

boolean contains = true;

for (Integer i : list2) {

  if (!list1.contains(i))

    contains = false;

    break;

  

}

System.out.println(contains); // 输出 true

以上就是几种常用的判断List包含关系的方法,开发者可以根据自己的实际需求选择合适的方法。需要注意的是,在使用containsAll()方法和retainAll()方法时,需要保证List中的元素类型是可比较的,否则会抛出ClassCastException异常。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复