判断集合是否包含元素list.contains(Object obj)

来源:互联网 发布:热血虎卫源码 编辑:程序博客网 时间:2024/05/16 01:50

做项目的过程中有个小的需求,大概就是要判断一个数据库中查询出来的结果集是否包含在用户填写的多个字段中,当时也未多想,就写了个一个for循环嵌套。

public class checkNameTest {    public static void main(String[] args) {        List<String> oldName = new ArrayList<String>();        oldName.add("小明");        oldName.add("小芳");        oldName.add("张三");        List<String> newName = new ArrayList<String>();        newName.add("小芳");        newName.add("小芳b");        newName.add("小芳A");        String flag  = "1";        for(int i = 0;i < oldName.size(); i++)        {            for(int j = 0; j < newName.size();j++)            {                if(newName.get(j).equals(oldName.get(i)))                {                    flag  = "0";                    break;                }            }            if("0".equals(flag))            {                break;            }        }        System.out.println(flag);    }}

结果后来需求一下变了,要求判断用户填写的信息必须都包含在数据库查询出的数据中,for循环嵌套的方式就不太合适了,就用了contains方法

public class checkNameTest {    public static void main(String[] args) {        List<String> oldName = new ArrayList<String>();        oldName.add("小明");        oldName.add("小芳");        oldName.add("张三");        List<String> newName = new ArrayList<String>();        newName.add("小芳");        newName.add("小芳b");        newName.add("小芳A");        String flag  = "1";        for (String name : newName) {            if(!oldName.contains(name))            {                flag = "0";                break;            }        }        System.out.println(flag);    }}

此方法API 解释

这里写图片描述