zoukankan      html  css  js  c++  java
  • Java中集合类

    一、Collection 

    Collection 接口用于表示任何对象或元素组。想要尽可能以常规方式处理一组元素时,就使用这一接口。Collection 在前面的大图也可以看出,它是List 和 Set 的父类。并且它本身也是一个接口。它定义了作为集合所应该拥有的一些方法。如下:
    注意:集合必须只有对象,集合中的元素不能是基本数据类型。

    Collection 接口支持如添加和除去等基本操作。设法除去一个元素时,如果这个元素存在,除去的仅仅是集合中此元素的一个实例。

     boolean add(Object element)
    boolean remove(Object element)
    

      Collection 接口还支持查询操作:    

    int size()
    boolean isEmpty()
    boolean contains(Object element)
    Iterator iterator()
    

      组操作 :Collection 接口支持的其它操作,要么是作用于元素组的任务,要么是同时作用于整个集合的任务。

     boolean containsAll(Collection collection)
     boolean addAll(Collection collection)
     void clear()
     void removeAll(Collection collection)
     void retainAll(Collection collection)
    

    例子:

    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Collection<String> collection1=new ArrayList<String>();//创建一个集合对象
    		collection1.add("000");//添加对象到 Collection 集合中
    		collection1.add("111");
    		collection1.add("222");
    		System.out.println("集合 collection1 的大小:"+collection1.size());
    		System.out.println("集合 collection1 的内容:"+collection1);
    		collection1.remove("000");//从集合 collection1 中移除掉 "000" 这个对象
    		System.out.println("集合 collection1 移除 000 后的内容:"+collection1);
    		System.out.println("集合 collection1 中是否包含 000 : "+collection1.contains("000"));
    		System.out.println("集合 collection1 中是否包含 111 : "+collection1.contains("111"));
    		Collection collection2=new ArrayList();
    		collection2.addAll(collection1);//将 collection1 集合中的元素全部都加到 collection2中
    		System.out.println("集合 collection2 的内容:"+collection2);
    		collection2.clear();//清空集合 collection1 中的元素
    		System.out.println("集合 collection2 是否为空 :"+collection2.isEmpty());
    		//将集合 collection1 转化为数组
    		Object s[]= collection1.toArray();
    		for(int i=0;i<s.length;i++){
    		System.out.println(s[i]);
    		}

              //使用迭代器
              Iterator<String> it = collection1.iterator();
              while(it.hasNext()){
                  String a = it.next();
                  System.out.println("==="+a);
               }

    	}
    

      2、List接口
    (1)基本思想
      用来存储有顺序的一组数据的集合。

    (2)特点
      A:存储的数据信息是有顺序的
      B:允许出现重复值
      C:存的是各种类型的对象

    (3)主要的实现类
      数组、Vector(向量)ArrayList
      Vector是起程不安全的ArrayList是线程安全的。

    (4)Vector的使用
      A:实例化
        Vector vc=new Vector();
        意味着:系统已经为我们准备了默认的10个地址空间,等待进行数据写入。也允许我们我们自己进行指定初始化的容量大小以及增长量。
      B:添加数据
        注意:添加的是各种类型的对象数据
      C:遍历数据
        第一种方式:利用for循环进行遍历。注意前提:必须先判断Vector对象是否存在。
        第二种方式:利用枚举对象进行遍历Enumeration
      D:删除数据
        按照索引删除、按照元素的名称删除,
        删除所有元素
        清空集合:在缓存上直接清空缓存
        重新实例化对象
    (5)ArrayList
      注意:当向Vector或ArrayList中添加数据时,不要超过5000个数据。


    3、Set接口
    (1)基本思想
    用于存储一系列对象的集合。
    (2)特点
    存储的数据时无序的
    不允许有重复值
    (3)实现类
    HashSet  treeSet

    4、Map接口
    (1)基本思想
    以键值的方式进行数据存储的集合。
    意思:以名称与值的成对的方式进行数据存储。
    (2)特点
      A:存储的是一对对的数据
      B:存储数据时无序的
      C:不允许重复值
    (3)实现类
    哈希表 Hashtable  treeTable

      

  • 相关阅读:
    新项目反思
    nei网访问
    react
    css沉默
    沉默
    node准备
    C++学习(八):删除文件
    利用工具格式化日期文本
    PageHelper 记录总条数不正确问题处理
    tk.mybatis 多个or条件拼接
  • 原文地址:https://www.cnblogs.com/estellez/p/4135085.html
Copyright © 2011-2022 走看看