zoukankan      html  css  js  c++  java
  • ArrayList集合与List与数组的区别

    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Iterator;
    import java.util.List;
    
    public class Test {
    	public static void main2(String[] args) {
    		/* 1.说明什么是ArrayList集合
    		 * ArrayList一般用于随机访问元素,虽然List也可以,但在List中间插入和移除元素时较慢。同时,ArrayList的操作不是线程安全的!
    		 * 一般在单线程中才使用ArrayList,而在多线程中一般使用Vector或者CopyOnWriteArrayList。		 */	
    		ArrayList<Integer> arrayList= new ArrayList<Integer>();
    		System.out.println("往集合的第一个位置插入数字2");
    		arrayList.add(0,2);
    		System.out.println("往集合里插入数字4");
    		arrayList.add(4);
    		arrayList.add(2,6);
    		arrayList.add(3,8);
    		arrayList.add(4,10);
    		arrayList.add(12);
    		arrayList.add(10);
    		System.out.println("删除集合里第3个元素");
    		arrayList.remove(2);
    		System.out.println("删除集合里的第一个包含的10的元素");
    		arrayList.remove((Object)10);
    		
    		System.out.println("第一种:通过迭代器遍历");
    		Iterator<Integer> it=arrayList.iterator();
    		while(it.hasNext()) {
    			System.out.println(it.next());
    		}
    		System.out.println("第二种:通过索引值遍历");
    		for(int i=0; i <arrayList.size();i++) {
    			System.out.println(arrayList.get(i));
    		}
    		System.out.println("第三种:for循环遍历");
    		for(Integer number:arrayList) {
    			System.out.println(number);
    		}
    
    		/*
    		 * 2.将ArrayList集合转换成数组integer整型
    		 * ArrayList 集合的底层是通过数组来实现的,但是集合与数组还是有一些区别的,
    		 * 简单来说,集合的长度是可变的,而数组的长度是不可变的,通过这点可以引发出一点效率上的差异,
    		 * 当所处理的数据长度已知不变时,推荐用数组对其进行处理,当长度不可预知时,也只好通过集合对其进行处理。*/	
    		System.out.println("toArray用法");
    		System.out.println("第一种方式(最常用)");
    		Integer[] integer1 = arrayList.toArray(new Integer[0]);
    		for(Integer i:integer1) {
    			System.out.println(i);
    		}
    		 
    		System.out.println("第二种方式(容易理解)");
    		Integer[] integer2 = new Integer[arrayList.size()];
    		arrayList.toArray(integer2);
    		for(int i =0;i<integer2.length;i++) {
    			System.out.println(integer2[i]);
    		}
    		
    		System.out.println("判断集合是否包含数字4,如果包含显示true:"+arrayList.contains(4));
    		arrayList.clear();
    		System.out.println("判断集合是否为空,如果为空显示true:"+arrayList.isEmpty());
    		
    		/*3.将组数转换成集合*/
    		String[] i ={"11","22","33"}; 
            List<String> list = Arrays.asList(i);
            for(Object o:list) {
            	System.out.println(o.toString());
            }
            
            Integer[] ob = {11,22,33};
            List<Integer> oblist = Arrays.asList(ob);
            Iterator<Integer> iterator=oblist.iterator();
    		while(iterator.hasNext()) {
    			System.out.println(iterator.next());
    		}              
    	}
    }
    

      

  • 相关阅读:
    CodeForces gym Nasta Rabbara lct
    bzoj 4025 二分图 lct
    CodeForces 785E Anton and Permutation
    bzoj 3669 魔法森林
    模板汇总——快读 fread
    bzoj2049 Cave 洞穴勘测 lct
    bzoj 2002 弹飞绵羊 lct裸题
    HDU 6394 Tree 分块 || lct
    HDU 6364 Ringland
    nyoj221_Tree_subsequent_traversal
  • 原文地址:https://www.cnblogs.com/amoyzhu/p/8435496.html
Copyright © 2011-2022 走看看