一、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

  

Java中集合类的更多相关文章

  1. 首先java中集合类主要有两大分支

    本文仅分析部分原理和集合类的特点,不分析源码,旨在对java的集合类有一个整体的认识,理解各个不同类的关联和区别,让大家在不同的环境下学会选择不同的类来处理. Java中的集合类包含的内容很多而且很重 ...

  2. java 中 集合类相关问题

    1,Java中Collection和Collections的差别 java.util.Collection 是一个集合接口.它提供了对集合对象进行基本操作的通用接口方法. Collection接口在J ...

  3. java中集合类中Collection接口中的List接口的常用方法熟悉

    1:集合类,在java语言中的java.util包提供了一些集合类,这些集合类又被称作容器. 2:区别集合类和数组.(1)数组的长度是固定的,集合的长度是可变的.(2)数组是用来存放基本数据类型的,集 ...

  4. java中集合类详解

    集合类说明及区别 Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └W ...

  5. java中集合类中Collection接口中的Map接口的常用方法熟悉

    1:Map接口提供了将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值.Map接口中同样提供了集合的常用方法. 2:由于Map集合中的元素是通过key,value,进行存储的,要 ...

  6. java中集合类中Collection接口中的Set接口的常用方法熟悉

    1:Set集合由Set接口和Set接口的实现类组成,Set接口继承了Collection接口,因为包含Collection接口的所有方法. 2:由于Set接口中不允许存在重复值,因此可以使用Set集合 ...

  7. JAVA中集合类的使用

    总的说来常用的集合类有两大类:Collection 和 Map 1) Collection接口有List和Set两大类子接口,List有ArrayList.LinkedList.Vector子类,Se ...

  8. java中集合类HashSet、ArrayList、LinkedList总结

    [HashSet] 1. HashSet存储不能够存储相同的元素,元素是否相同的判断:重写元素的equals方法.equals方法和hashCode方法必须兼容,如:equals方法判断的是用户的名字 ...

  9. java中集合类的简介

    结构 collection(接口) List(接口) LinkedList(类) ArrayList(类) Vector(类) Stack(类) Set(接口) Map(接口) Hashtable(类 ...

随机推荐

  1. IntelliJ IDEA 激活

    方法1 进入ide主页面,help-register-license server,然后输入 http://idea.iteblog.com/key.php   或者   http://idea.la ...

  2. vc编程中出现 fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h"”?

    解决办法菜单--〉项目--〉设置,出现“项目设置”对话框,左边展开项目,在“源文件”中找到出错的文件,然后在右边选择“C/C++”属性 页,在Category下拉框中选择“Precompiled He ...

  3. 传统JDBC操作数据库

    package com.jdbc.example; import java.sql.Connection; import java.sql.Date; import java.sql.DriverMa ...

  4. python 函数 之 用户注册register()

    db_path='db.txt' #定义默认文件路径,方便修改def get_uname(): while True: uname=input('请输入用户名:').strip() if uname. ...

  5. cmd,bat和dos的区别

    区别 dos是磁盘操作系统(Disk Operating System),是个人计算机上的一类操作系统. bat是DOS命令,在任何dos环境下都可以使用. bat文件是dos下的批处理文件,批处理文 ...

  6. [hdu1686] Oulipo【KMP】

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1686 保存KMP模版,代码里P是模版串,next[]就是为它建立的.T是文本串,就是一般比较长的.nex ...

  7. linux进行文件vim编辑时没有退出文件直接关闭出现E325: ATTENTION Found a swap file by the name "/usr/local/php/etc/.php.ini.swp"

    E325: ATTENTIONFound a swap file by the name "/usr/local/php/etc/.php.ini.swp"          ow ...

  8. object-position和object-fit

    今天在用video标签时发现改变video的宽和高,它里面播放内容由于比例的限制无法充满我设置的宽高,这时要是有类似background-size属性该是多好.网上一查果然找到了css3中的objec ...

  9. C# readonly和const的区别

    什么是静态常量(Const)和动态常量(Readonly) 先解释下什么是静态常量(Const)以及什么是动态常量(Readonly). 静态常量(Const)是指编译器在编译时候会对常量进行解析,并 ...

  10. openssl 安装配置

    Openssl是个为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法.常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用.首先下载Openssl包: ...