java list.contains是什么,让我们一起了解一下?
contains就是查看给定元素是否在list中存在,经常用于去除重复记录,从数据库中查询出满足一系列条件的记录,然后以对象的形式封装到List中去。
java List contains()用法及代码示例:
Java中的List接口的contains()方法用于检查指定元素是否存在于给定列表中。
// Java code to demonstrate the working of // contains() method in List interface import java.util.*; class GFG {undefined public static void main(String[] args) {undefined // creating an Empty Integer List List arr = new ArrayList(4); // using add() to initialize values // [1, 2, 3, 4] arr.add(1); arr.add(2); arr.add(3); arr.add(4); // use contains() to check if the element // 2 exits or not boolean ans = arr.contains(2); if (ans) System.out.println("The list contains 2"); else System.out.println("The list does not contains 2"); // use contains() to check if the element // 5 exits or not ans = arr.contains(5); if (ans) System.out.println("The list contains 5"); else System.out.println("The list does not contains 5"); } }
实战操作:假设有两个条件A和B,满足A记录的称为ListA,满足B记录的称为ListB,现在要将ListA和ListB合并到一个List中区,此时两个记录集中可能会含有相同的记录,所以我们要过滤掉重复的记录。
假设存在的对象为User对象:
List list = new ArrayList(); if(ListA!=null){undefined Iterator it= ListA.iterator(); while(it.hasNext()){undefined list.add((User)it.next()); } } if(ListB!=null){undefined Iterator it= ListB.iterator(); while(it.hasNext()){undefined User us=(User)it.next(); if(!list.contains(us)) list.add(us); } }
首先我们将ListA中的对象全部装入到list中,然后在装入ListB中对象的时候对ListB中的每个元素进行一下判断,看list中是否已存在该元素,这里我们使用List接口的contains()方法。
下面来看一下他的原理:list.contains(us),系统会对list中的每个元素e调用us.equals(e),方法,加入list中有n个元素,那么会调用n次us.equals(e),只要有一次us.equals(e)返回了true,那么list.contains(us)返回true,否则返回false。
以上就是小编今天的分享了,希望可以帮助到大家。