总的说来常用的集合类有两大类:Collection 和 Map

1) Collection接口有List和Set两大类子接口,List有ArrayList、LinkedList、Vector子类,Set有TreeSet和HashSet两个子类。

  • ArrayList和LinkedList使用比较类似,存放在里面的元素都是顺序存放。ArrayList相当于普通链表,而LinkedList相当于队列。
  • Vector是一个比较旧的类,从1.0版本就开始出现。
  • Collection接口支持foreach和Iterator输出,而List接口支持ListIterator输出,Vector子类支持Enumeration输出。
  • Set接口的共同特点是不允许元素重复。
  • 而TreeSet和HashSet的区别在于TreeSet有排序功能,而存放在HashSet的元素没有排序。
  • 存放于TreeSet的元素必须实现Comparable接口,因为排序需要调用Comparable接口的方法,实现二叉树排序。
  • 存放于HashSet的元素必须复写Object类中hashCode()和equals()方法。hashCode决定了元素存放的位置,而equals()方法决定了该元素是否存在。

2)Map接口有HashMap和TreeMap以及Hashtable子类。

  同样的,TreeMap有排序功能,存放于里面的元素必须实现Comparable接口。HashMap没有排序功能,存放于里面的元素必须要复写Object的hashCode和equals方法

3)所有的Collection子类都支持Iterator和foreach的遍历访问方式。同时注意,尽量不要在iterator遍历的时候修改或者删除元素。

4)Map接口提供了keySet()和values()方法用于获取所有的key和value

5)Map接口还提供了entrySet()方法,该方法返回Set<Map.Entry<K,V>>类型的Set,这样可以将Map转换为Set集合进行操作(一般用于输出).

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中集合类HashSet、ArrayList、LinkedList总结

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

  8. Java中集合类

    一.Collection Collection 接口用于表示任何对象或元素组.想要尽可能以常规方式处理一组元素时,就使用这一接口.Collection 在前面的大图也可以看出,它是List 和 Set ...

  9. java中集合类的简介

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

随机推荐

  1. SQL 将一列多行数据合并为一行 FOR XML PATH

    FOR XML PATH 方法是用于将查询结果集以XML形式展示,这样展示方式的好处不言而喻.现在我要介绍的FOR XML PATH的"另类"用法. 首先,我们先来看看它的正常用法 ...

  2. 事件、委托、委托方法的总结(使用EventHandler<>)

    在C#中,定义事件.委托.委托方法可以使用类库内的EventHandler泛型委托来定义事件.并根据该泛型委托定义实现方法: 同样您也可以自定义委托 来定义事件以及 根据自定义的委托来定义实现事件的方 ...

  3. linux包之procps之ps与top

    概述 阅读man ps页,与man top页,最权威与标准,也清楚 有时候系统管理员可能只关心现在系统中运行着哪些程序,而不想知道有哪些进程在运行.由于一个应用程序可能需要启动多个进程.所以在同等情况 ...

  4. Externalizable接口 序列化

    Java默认的序列化机制非常简单,而且序列化后的对象不需要再次调用构造器重新生成,但是在实际中,我们可以会希望对象的某一部分不需要被序列化,或者说一个对象被还原之后, 其内部的某些子对象需要重新创建, ...

  5. ntko office 5.0.1.0注册码

    如何手工卸载和安装NTKOOFFICE文档控件?(NTKOOFFICE文档控件) 1.何时进行手工卸载和安装; 一般情况下应该让客户端自动控件,这样当服务器控件版本更新时,客户端可以获得自动升级方面的 ...

  6. MYSQL 分组排名

    今天遇到一个MYSQL排序的问题,要求按某列进行分组,组内进行排序. 百度一下发现MYSQL不支持row_number(),rank()等函数. 采用的办法如下,我们首先创建一个测试表: --创建表 ...

  7. 并行计算之Memory barrier(内存

    本文转载自:http://name5566.com/4535.html 参考文献列表:http://en.wikipedia.org/wiki/Memory_barrierhttp://en.wiki ...

  8. MS CRM 2011的自定义和开发(11)——插件(plugin)开发(一)

    http://www.cnblogs.com/StoneGarden/archive/2012/02/02/2336147.html MS CRM 2011的自定义和开发(11)——插件(plugin ...

  9. 【shell】多命令执行顺序

    :举例[root@andon ~]# date;dd if=/dev/zero of=/home/1 bs=1k count=10240;date ##统计dd命令消耗时间,其中/dev/zero为空 ...

  10. css布局实践心得总结

    一.摘要: 今天在写一个页面,对css中的BFC(块级格式化范围)有了一点体会,今天把遇到的问题和解决方案总结下来,额外还总结一下强大的负外边距的使用心得. 二.总结: