精华内容
下载资源
问答
  • 遍历列表时需要验证数据的正确性,每遍历一次就要根据name查询数据库数据效率很慢,代码如下: //获得第一个表单的迭代器 Iterator<org.apache.poi.ss.usermodel.Row> rows = sheet.rowIterator(); // ...

    在遍历列表时需要验证数据的正确性,每遍历一次就要根据name查询数据库数据效率很慢,代码如下:

    //获得第一个表单的迭代器
    Iterator<org.apache.poi.ss.usermodel.Row> rows = sheet.rowIterator();
    // 去除标题首行
    rows.next();
    int rownum = 1;
    while (rows.hasNext()) {
       rownum++;
       Row row = rows.next();
       companyInfo = new CompanyInfo(row);
       Map map = nyCompanyDao.getCompanyByName(companyInfo.getName);
       if (null == map|| map.get("c_companyid") == null || "".equals(map.get("c_companyid").toString())) {
          continue;
       }
    }
    
    

     后改为在循环外查询出符合条件的所有数据放到Map里,然后在列表遍历时判断Map是否存在相同的key值,这样效率会快很多。代码如下:

    List<Map<String, Object>> list = nyCompanyDao.getCompanyList();
    Map<String, Object> cMap = new HashMap<>();
    if (null != list && list.size() > 0) {
        for (Map map : list) {
    	cMap.put(map.get("companyName").toString(), map.get("companyId"));
        }
    }
    while (rows.hasNext()) {
        rownum++;
        Row row = rows.next();
        companyInfo = new CompanyInfo(row);
        if (!cMap.containsKey(companyInfo.getName())) {
    	continue;
        }
    }

     但是不适合查询的表数据量太大的。

     

     

     

     

     

     

    展开全文
  • 1._遍历方式 其实遍历的就两种,对象和数组.只是哪个遍历适用于哪个而已 for for增强 foreach 迭代(Iterable) Arrays.toString 2._数组遍历 package com.demo; import java.util.ArrayList; import java.util....

    1._遍历方式

    其实遍历的就两种,对象和数组.只是哪个遍历适用于哪个而已

    1. for
    2. for增强
    3. foreach
    4. 迭代(Iterable)
    5. Arrays.toString

    2._数组遍历

    package com.demo;
    
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Iterator;
    
    public class demo {
        public static void main(String[] args) {
            // 数组遍历方式
            String[] arrs = {"a", "b", "c"};
    
            // 第一种方法
            for (int i = 0; i < arrs.length; i++) {
                System.out.println(arrs[i]);
            }
            System.out.println("================");
            // 第二种方式
            for (String str : arrs) {
                System.out.println(str);
            }
            System.out.println("================");
            // 第三种方式
            System.out.println(Arrays.toString(arrs));
    
        }
    }
    
    

    2._list

    方法名描述
    void add(int index,E element)在此集合中的指定位置插入指定的元素
    E remove(int index)删除指定索引处的元素,返回被删除的元素
    E set(int index,E element)修改指定索引处的元素,返回被修改的元素
    E get(int index)返回指定索引处的元素
    package com.entify;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    
    public class Demo {
        public static void main(String[] args) {
            // 对象遍历方式
            ArrayList<String> list = new ArrayList<>();
            list.add("a");
            list.add("b");
            list.add("c");
    
            //第一种方式
            for (int i = 0; i < list.size(); i++) {
                System.out.println(list.get(i));
            }
            System.out.println("================");
            // 第二种方式
            for (String s : list) {
                System.out.println(s);
            }
            System.out.println("================");
            // 第三种方式
            Iterator<String> iterator = list.iterator();
            if (iterator.hasNext()) {
                System.out.println(iterator.next());
            }
            System.out.println("================");
            // 第四种方式
            list.forEach(item -> System.out.println(item));
            list.forEach(System.out::println); // 第四种方式第二种写法
    
    
        }
    }
    
    

    3._set

      A:添加功能
        boolean add(E e);
        boolean addAll(Collection<? extends E> c);
    
        B:删除功能
        boolean remove(Object o);
        boolean removeAll(Collection<?> c);
        void clear();
    
        C:长度功能
        int size();
    
        D:判断功能
        boolean isEmpty();
        boolean contains(Object o);
        boolean containsAll(Collection<?> c);
        boolean retainAll(Collection<?> c); 
    
        E:获取Set集合的迭代器:
        Iterator<E> iterator();
    
        F:把集合转换成数组
        Object[] toArray();
        <T> T[] toArray(T[] a);
        
        //判断元素是否重复,为子类提高重写方法
        boolean equals(Object o);
        int hashCode();
    
    package com.entify;
    
    import java.util.HashSet;
    import java.util.Iterator;
    
    public class Demo {
        public static void main(String[] args) {
            HashSet<String> set=new HashSet<String>();
            set.add("b");
            set.add("b");
            set.add("a");
            set.add("c");
            System.out.println(set);//[a, b, c]
    
            // 第一种方式
            for (String str : set) {
                System.out.println(str);
            }
            System.out.println("================");
            // 第二种方式
            Iterator it = set.iterator();
            while (it.hasNext()) {
                String str =(String) it.next();
                System.out.println(str);
            }
            // 第三种方式
            set.forEach(item -> System.out.println(item));
            set.forEach(System.out::println); // 第四种方式第二种写法
    
    
        }
    }
    
    

    4._map

    方法名说明
    V put(K key,V value)添加元素
    V remove(Object key)根据键删除键值对元素
    void clear()移除所有的键值对元素
    boolean containsKey(Object key)判断集合是否包含指定的键
    boolean containsValue(Object value)判断集合是否包含指定的值
    boolean isEmpty()判断集合是否为空
    int size()集合的长度,也就是集合中键值对的个数
    V get(Object key)根据键获取值
    Set keySet()获取所有键的集合
    Collection values()获取所有值的集合
    Set<Map.Entry<K,V>> entrySet()获取所有键值对对象的集合
    package com.entify;
    
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    
    public class Demo {
        public static void main(String[] args) {
            Map<Integer, String> map = new HashMap<>();
            map.put(2,"b");
            map.put(1,"b");
            map.put(1,"a");
            map.put(4,"b");
            map.put(3,"c");
            System.out.println(map);  // {1=a, 2=b, 3=c, 4=b}
    
    
            // JDK1.4中
            // 遍历方法一 hashmap entrySet() 遍历
            Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator();
            while (it.hasNext()) {
                Map.Entry<Integer, String> data = it.next();   // 依次获取每行的数据
                Object key = data.getKey();
                Object value = data.getValue();
                System.out.println("key=" + key + " value=" + value);
            }
            System.out.println("==============================");
    
            // JDK1.5中,应用新特性For-Each循环
            // 遍历方法二
            for (Map.Entry<Integer, String> data : map.entrySet()) {
                Object key = data.getKey();
                Object value = data.getValue();
                System.out.println("key=" + key + " value=" + value);
            }
            System.out.println("===============================11");
    
    
    
            // 遍历方法三 hashmap keySet() 遍历
            for (Iterator i = map.keySet().iterator(); i.hasNext();) {
                Object obj = i.next();
                System.out.println(obj);// 循环输出key
                System.out.println("key=" + obj + " value=" + map.get(obj));
            }
            for (Iterator i = map.values().iterator(); i.hasNext();) {
                Object obj = i.next();
                System.out.println(obj);// 循环输出value
            }
            System.out.println("===============================11");
    
    
            // 遍历方法四 treemap keySet()遍历
            for (Object o : map.keySet()) {
                System.out.println("key=" + o + " value=" + map.get(o));
            }
            System.out.println("===============================11");
            
        }
    }
    
    

    stream遍历

    https://blog.csdn.net/weixin_44797182/article/details/120298300

    6._Enumeration遍历

    通过Enumeration的源码分析可得,Enumeration有两个方法:
    (1)boolean hasMoreElements();//是否还有元素,如果有返回true,否则表示至少含有一个元素
    (2)E nextElement();//如果Enumeration枚举对象还有元素,返回对象只能的下一个元素,否则抛出NoSuchElementException异常。

    简单示例:

    public class TestEnumeration{
    public static void main(String[] args){
            Vector v = new Vector();
            v.addElement("Lisa");
            v.addElement("Billy");
            v.addElement("Mr Brown");
            Enumeration e = v.elements();//返回Enumeration对象
            while(e.hasMoreElements()){
                String value = (String)e.nextElement();//调用nextElement方法获得元素
                System.out.print(value);
            }
        }
    }
     
    
    展开全文
  • public static void main(String...List list = new ArrayList(); list.add(“aa”); list.add(“bb”); list.add(“aa”); list.add(“cc”);HashSet set = new HashSet<>(list); Boolean result = set.size(...

    public static void main(String[] args) {
    List list = new ArrayList();
    list.add(“aa”);
    list.add(“bb”);
    list.add(“aa”);
    list.add(“cc”);
    HashSet set = new HashSet<>(list);
    Boolean result = set.size() == list.size() ? true : false;

    System.out.println(result);
    }

    list中aa元素重复,所以运行结果是:false

     

     

     

     

                                ---------------长按二维码关注程序媛小姐姐公众号有更多彩蛋哦---------------

                                                

    展开全文
  • 遍历List集合的三种方式 List集合在Java日常开发中是必不可少的,只要懂得运用各种各样的遍历集合方法就可以大大提高我们开发的效率,适当使用各种方法才会使我们开发事半功倍。  我总结了三种List集合的遍历方式,...

    遍历List集合的三种方式

    List集合在Java日常开发中是必不可少的,只要懂得运用各种各样的遍历集合方法就可以大大提高我们开发的效率,适当使用各种方法才会使我们开发事半功倍。
      我总结了三种List集合的遍历方式,下面一一来介绍。

    首先创建一个集合

     ArrayList<String> names = new ArrayList<String>();
            names.add("第一个");
            names.add("第二个");
            names.add("第三个");
            names.add("第四个");
            names.add("第五个");
            
    
    1. 使用for循环遍历集合
     for (int i = 0; i <names.size() ; i++) {
                String temp = names.get(i);//获取集合的每一项
                System.out.println(temp);
                if( "第三个".equals(temp))//将“第三个”删除
                {
                   names.remove(temp);
                }
            }
            System.out.println(names);
    
    		注意:
    					1.当使用for循环删除同样的相邻集合元素,只会删除第一个,原因:当删除集合元素时,首先将集合元素的下标整个上移一位,然后for循环的变量i会加1,这样第二个重复的元素不会删除。
    					2.在遍历过程可以修改集合的长度。
    
    1. 使用foreach遍历集合
     for (String temp:names) {
             if("itcast".equals(temp))
             {
                 names.add("TEST");
             }
          }
           System.out.println(names);
    
    	注意:使用foreach在遍历集合时,不能对集合的长度进行修改,否则会抛出 ConcurrentModificationException异常
    
    1. 使用迭代器遍历集合
    //创建迭代器
            Iterator<String> it = names.iterator();
             while (it.hasNext()) {
                String itname = it.next();
                //这里使用若是集合里有空指针:itname.equals("itcast")回报异常
                //变量与常量判断时,将常量放在前面,为了预防出现空指针问题
                if ("第一个".equals(itname)) {
                    //删除集合中的“第一个”元素
                     it.remove();
                    //names.remove(itname);
                }
            }
            System.out.println(names);
    
    注意: 迭代器在遍历中不能使用修改集合长度的list集合方法,不过若要删除可以使用迭代器的remove方法
    

    我是小白,如有不足,欢迎大家指正

    展开全文
  • list遍历方法://list遍历private void forListSerch(){List serchList = new ArrayList<>();for (int i = 0;i<5;i++){serchList.add("盖伦"+i);}//for循环for (int j = 0;jSystem.out.println("----...
  • Java遍历方法

    2017-01-25 17:00:35
    Java中有几种我们常用的遍历数组或集合的方式,下面我来给大家简要总结一下这些遍历方式的各自的使用场景。一、for循环for循环的循环条件中定义了一个int类型的局部变量(变量名通常是i)。由于数组(Array)的元素...
  • package TestTree; ...import java.util.List; import java.util.Queue; class TreeNode { public int val; public TreeNode left; public TreeNode right; public TreeNode(int val) { t.
  • 在对List、Set、Map执行遍历删除或添加等改变集合个数的操作时,不能使用普通的while、for循环或增强for。会抛出ConcurrentModificationException异常或者没有达到删除的需求。在遍历时删除元素,需要使用迭代器的...
  • Java中利用Set判断List集合中是否重复元素

    万次阅读 多人点赞 2018-12-05 20:05:36
    在开发工作中,我们有时需要去判断List集合中是否含有重复的元素 我们不需要找出重复的元素,我们只需要返回一个Boolean类型就可以了 如果使用循环遍历的方式,将会消耗大量的性能 我们只需要将List集合转化为Set...
  • java遍历文件夹详解

    2015-10-10 17:18:18
    代码如下:import java.io.File; public class FileList { //遍历文件夹,此方法只能不能遍历文件夹下的文件夹 /* public static void listFile(File dir){ if(dir.exists()){ String[] files=dir....
  • JavaList ,Set 有共同的父类, 就是Collection. 所有实现Collection的接口的类都有一个iterator方法,用以返回一个Iterator接口的对象...
  • JAVA遍历HASHMAP

    2014-10-14 18:03:11
    HashSet不允许重复元素,HashSet查找快,并且存储是无序的,没有前后关系,存储的时候用add就加进去一个元素了,虽然JAVA中是用HashMap实现的HashSet,但HashSet没有key,通过hashset.add(value)存储元素,通过...
  • 一、遍历文件夹下的所有文件 public class File05{ // 需求:便利目标文件夹下的所有文件(文件及文件夹) public static void main(Stringp[] args){ // 需求分析 // 1.拿到目标文件对应的File 对象 // 2.遍历该...
  • java 文件遍历

    2020-09-03 19:41:14
    一般文件则在控制台打印,目录则需要再次打开,对目录中的文件再次进行判断,这里就有一个重复调用的问题。 三、java代码 package com.mtlk.demo; import java.io.File; public class FileDemo { //获取一个带...
  • 软件测试刷题:判断是否存在重复元素 ​题目:给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true...​思路:for循环遍历list,去判断第一个 和剩余的是否存在相等的,有相等...
  • Java判断List集合中是否重复元素

    千次阅读 2019-08-01 10:31:43
    在开发工作中,我们有时需要去判断List集合中是否含有重复的元素 我们不需要找出重复的元素,我们只需要返回一个Boolean类型就可以了 如果使用循环遍历的方式,将会消耗大量的性能 我们只需要将List集合转化为Set...
  • Java中利用Set判断List集合中是否重复元素 1、在开发工作中,我们有时需要去判断List集合中是否含有重复的元素 2、我们不需要找出重复的元素,我们只需要返回一个 Boolean 类型就可以了 3、如果使用循环遍历的方式...
  • Java中的遍历怎么利用二叉树实现发布时间:2020-12-05 14:55:58来源:亿速云阅读:56作者:Leah本篇文章给大家分享的是有关Java中的遍历怎么利用二叉树实现,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完...
  • 键值对,需要注意的是,key值唯一,若put()操作中key值出现了重复,那么后一个键值对将覆盖前一个key值相同的键值对。 HashMap<Integer, Integer>dif=new HashMap<>(); dif.put(1,3); dif.put(1,4); ...
  • Java系列-Set、List、Map的遍历总结 标签: Java集合遍历arraylisthashmapiterator 2015-04-28 08:21 1996人阅读 评论(2) 收藏 举报 分类: Java(19) 作者同类文章X ...
  • 1、List中的对象,可以通过下索引进行遍历,也可以通过迭代器进行遍历List list = new ArrayList(); list.add("aaa"); list.add("bbb"); list.add("ccc"); for (int i =0;i<list.size();i++){ ...
  • List&lt;String&gt; gslist = new ArrayList&lt;&gt;(); for (String travellerId : travellerIdNos) { if (StringUtils.isNotEmpty(travellerId)) { ...
  • Java集合遍历方式及效率对比

    千次阅读 2019-12-30 16:30:12
    一、List集合遍历 1. 集合元素在内存中的存放 数据元素在内存中,主要有2种存储方式: 顺序存储,Random Access(或直接存储,Direct Access): 这种方式,相邻的数据元素存放于相邻的内存地址中,整块内存地址是...
  • 例如我现在要从航班信息集合中筛选出所有的出发机场和到达机场 ![](https://img-ask.csdn.net/upload/201501/30/1422588513_346871.png)
  • 1.集合的基本介绍:Collection --List:将以特定次序存储元素。所以取出来的顺序可能和放入顺序不同。 --ArrayList / LinkedList / Vector --Set : 不能含有重复的元素 --HashSet / TreeSet Map:键值对 --...
  • Java遍历Set集合的三种方法

    千次阅读 2019-04-03 10:56:57
    Map集合:链接: Map集合的五种遍历方式及Treemap方法 ...LIst集合:链接: JavaList集合的三种遍历方式(全网最详) 集合区别:链接: javalist,set,map集合的区别,及面试要点 1.迭代遍历: Set set = new Has...
  • Collection值单列集合List(),以及遍历方式 知识点-- 单列集合常用类的继承体系 讲解: Collection:单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,分别是java.util.Listjava.util....
  • 基于java的磁盘遍历

    2020-09-03 16:10:53
    一般文件则在控制台打印,目录则需要再次打开,对目录中的文件再次进行判断,这里就有一个重复调用的问题。 三、代码编写 package com.woniu.test; import java.io.File; public class Demo1

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 79,758
精华内容 31,903
关键字:

java遍历list判断是否存在重复

java 订阅