• 黑马程序员——JAVA基础之简述集合collection


    ------- android培训java培训、期待与您交流! ----------

    集合:
    为什么出现集合类?
    •  面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式。

    数组和集合类同是容器,有何不同?
    •  数组虽然也可以存储对象,但长度是固定的;集合长度是可变的。数组中可以存储基本数据类型,集合只能存储对象。

    集合类的特点:
    •  集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象。
     
    集合框架中的常用接口:
    Collection接口有两个子接口:List(列表) ,Set(集)
                       List:可存放重复元素,元素存取是有序的。
                       Set:不可以存放重复元素,元素存取是无序的。
     
     
     
     
     
     
     
    List接口中常用类:
    Vector:线程安全,但速度慢,已被
    ArrayList替代。
    ArrayList:线程不安全,查询速度快。
    LinkedList:链表结构,增删速度快。

    取出List集合中元素的方式:
    get(int index):通过脚标获取元素。
    iterator():通过迭代方法获取迭代器对象。

     

    有序集合和无序集合的区别:

    有序集合:集合里的元素可以根据key或index访问

    无序集合:集合里的元素只能遍历。

    有序集合在属性的增加,删除及修改中拥有较好的性能表现。

     

    迭代
    迭代是取出集合中元素的一种方式。
    因为Collection中有iterator方法,所以每一个子类集合对象都具备迭代器。
     
    什么是迭代器呢?
    其实就是集合的取出元素的方式。如同抓娃娃游戏机中的夹子。
    迭代器是取出方式,会直接访问集合中的元素。所以将迭代器通过内部类的形式来进行描述。通过容器的iterator()方法获取该内部类的对象。

    迭代注意事项
    迭代器在Collcection接口中是通用的,它替代了Vector类中的Enumeration(枚举)。
    迭代器的next方法是自动向下取元素,要避免出现NoSuchElementException。
    迭代器的next方法返回值类型是Object,所以要记得类型转换。
     
     
     Collection定义了集合框架的共性功能。

    1,添加
        add(e); 添加元素
        addAll(collection);  将指定 collection 中的所有元素都添加到此 collection 中
     
     
    import java.util.ArrayList;
    
    public class CollectionDemo1 
    {
    	public static void main(String[] args)
    	{
    		ArrayList al = new ArrayList();
    		
    		al.add("01");
    		al.add("02");
    		al.add("03");
    		System.out.println("集合:"+al+"集合长度:"+al.size());
    		
    		ArrayList a = new ArrayList();
    		
    		a.add("04");
    		a.add("05");
    		a.add("06");
    		al.addAll(a);
    		System.out.println("集合:"+al+"集合长度:"+al.size());
    	}
    }
    


     
    2,删除
        remove(e); 移除某一元素
        removeAll(collection); 移除此 collection 中那些也包含在指定 collection 中的所有元素
        clear(); 清空所有元素
     
    import java.util.ArrayList;
    
    public class CollectionDemo2
    {
    	public static void main(String[] args)
    	{
    		ArrayList al = new ArrayList();
    		
    		al.add("01");
    		al.add("02");
    		al.add("03");
    		System.out.println("集合:"+al+"集合长度:"+al.size());
    		
    		ArrayList al1 = new ArrayList();
    		
    		al1.add("01");
    		al1.add("05");
    		al1.add("03");
    		System.out.println("集合:"+al1+"集合长度:"+al1.size());
    	
    		al.remove("01");
    		System.out.println("集合:"+al+"集合长度:"+al.size());
    		
    		al.removeAll(al1);//去交集
    		System.out.println("集合:"+al+"集合长度:"+al.size());
    		
    		al.clear();
    		System.out.println("集合:"+al+"集合长度:"+al.size());		
    	}
    }
    
    


     
    3,判断 
        contains(e); 判断是否包含某一元素
        isEmpty(); 判断是否为空
     
    import java.util.ArrayList;
    
    public class CollectionDemo3 
    {
    	public static void main(String[] args)
    	{
    		ArrayList al = new ArrayList();
    		
    		al.add("01");
    		al.add("02");
    		al.add("03");
    		System.out.println("集合:"+al+"集合长度:"+al.size());
    		
    		System.out.println(al.contains("01"));
    		System.out.println(al.isEmpty());
    	}
    }
    


     
    4,获取
        iterator();
        size();
     
    import java.util.ArrayList;
    import java.util.Iterator;
    
    public class CollectionDemo4
    {
    	public static void main(String[] args)
    	{
    		ArrayList al = new ArrayList();
    		
    		al.add("01");
    		al.add("02");
    		al.add("03");
    		System.out.println("集合:"+al+"集合长度:"+al.size());
    
    		for (Iterator it = al.iterator();it.hasNext(); )
    		{
    			System.out.println(it.next());
    		}
    	}
    }
    
    

     
    5,获取交集。
        retainAll();
     
     
    import java.util.ArrayList;
    
    public class CollectionDemo5
    {
    	public static void main(String[] args)
    	{
    		ArrayList al = new ArrayList();
    		
    		al.add("01");
    		al.add("02");
    		al.add("03");
    		System.out.println("集合:"+al+"集合长度:"+al.size());
    
    		ArrayList al1 = new ArrayList();
    		
    		al1.add("01");
    		al1.add("03");
    		al1.add("06");
    		System.out.println("集合:"+al1+"集合长度:"+al1.size());
    		
    		al.retainAll(al1);//取交集
    		System.out.println("集合:"+al+"集合长度:"+al.size());
    	}
    }
    
    
     
    6,集合变数组:
        toArray();

    1,add方法的参数类型是Object。以便于接收任意类型对象。
    2,集合中存储的都是对象的引用(地址) 
     
     
    import java.util.ArrayList;
    
    
    public class ListDemo 
    {
    	public static void main(String[] args)
    	{
    		ArrayList al = new ArrayList();
    		
    		al.add("01");
    		al.add("02");
    		al.add("03");
    		System.out.println(al);
    		
    		Object[] obj = al.toArray();
    		for (int i=0;i<obj.length;i++)
    		{
    			System.out.println(obj[i]);
    		}
    	}
    }
    


     
     
     

    ------- android培训java培训、期待与您交流! ----------

     
      
     
  • 相关阅读:
    【webrtc】创建https服务(7)
    【python驱动】python进行selenium测试时GeckoDriver放在什么地方?
    python下载后出现python 已停止工作
    python版本下载时时,官方目录web-based与executable和embeddable 的区别
    python下pip 安装 pyautogui报错Command "python setup.py egg_info" failed with error code 1 in C:UsersAdministratorAppDataLocalTemppip-install-svhtephopygetwindow
    python踩坑记录篇,持续更新
    坑:jmeter代理服务器录制脚本出现target controller is configured to "use recording Controller" but no such controller exists...
    jmeter+ant+jenkins构建自动化测试
    linux环境下固定ip操作
    pychram编写代码鼠标变粗处理
  • 原文地址:https://www.cnblogs.com/runwind/p/4212191.html
Copyright © 2020-2023  润新知