zoukankan      html  css  js  c++  java
  • Java 对数组的筛选

      在Java里面 一般对一个数组进行筛选,去剔除一些元素,一般做法是用临时数组来存储,把符合条件的元素加入到新数组中,虽然数组有移除的方法但是 是线程不安全的;

    而用迭代器Iterator,可以在遍历的情况下可以进行元素移除,原因是它是线程安全的,效率相对好点。

    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    
    public class Array {
         
        public void test1(){
            List<Integer> list = new ArrayList<>();
            for(int i =0 ;i<100;i++){
                list.add(i);
            }
            List<Integer> list1 = new ArrayList<>();
            for(Integer item : list){
                if(item>2){
                    list1.add(item);
                }
            }
        }
        
        public void test2(){
            List<Integer> list = new ArrayList<>();
            for(int i =0 ;i<100;i++){
                list.add(i);
            }
            Iterator<Integer> iter = list.iterator();
            while(iter.hasNext()){
                if(iter.next()<=2){
                    iter.remove();
                }
            }
        }
        
        public static void main(String args[]){
            Array array = new Array();
            long a=System.currentTimeMillis();
            array.test1();
            System.out.println("
    <br>执行耗时 : "+(System.currentTimeMillis()-a)+" 秒 ");
            long a1=System.currentTimeMillis();
            array.test2();
            System.out.println("
    <br>执行耗时 : "+(System.currentTimeMillis()-a1)+" 秒 ");
        }
    }

    结果如下:

    <br>执行耗时 : 1 秒

    <br>执行耗时 : 0 秒

    版权声明:如需转载,请注明!PS:如是转载随便,请忽略
  • 相关阅读:
    TTFB
    区分数组与对象
    单点登录使用163邮箱
    从其它系统登录到SharePoint 2010系统的单点登录
    js 弹出对话框3种方式
    PowerShell编辑
    修改SharePoint页面上的控件数量的限制
    在SharePoint 2010页面中嵌入SWF文件
    修改SharePoint列表项显示“新”图标的天数
    JSP页面显示乱码
  • 原文地址:https://www.cnblogs.com/zwdx/p/7505911.html
Copyright © 2011-2022 走看看