总的说来常用的集合类有两大类: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. linux包之dmidecode

    http://www.dmtf.org/standards/smbios Dmidecode 这款软件允许你在 Linux 系统下获取有关硬件方面的信息.Dmidecode 遵循 SMBIOS/DMI ...

  2. 用JavaScript往DIV动态添加内容

    参考:http://zhidao.baidu.com/link?url=6jSchyqPiEYCBoKdOmv52YHz9r7MTBms2pK1N6ptOX1kaR2eg320mlW1Sr6n36hp ...

  3. OpenJudge计算概论-发票统计

    /*====================================================================== 发票统计 总时间限制: 1000ms 内存限制: 65 ...

  4. vs2010编译lua-5.3.2

    lua-5.3.2.tar.gz 解开在 D:\lua 1. 启动VS命令行 2. c:\program files\microsoft visual studio 10.0\vc\bin>cd ...

  5. Python 2.x与3.x共存

    (1)检查在Path环境变量中是否有以下4个变量(没有则添加): 1.c:\Python27 2.c:\Python27\Scripts 3.c:\Python35 4.c:\Python35\Scr ...

  6. Dom之表单提交与默认行为

    一.button提交表单 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  7. 彻底解决ASP.NET MVC 3 404错误码返回302的问题

    转自:http://blog.csdn.net/mycloudke/article/details/9746333 404状态码:,意味着当在页面上显示用户点击不存在,提高用户体验度,搜索引擎会放弃这 ...

  8. hadoop(五): shell命令

    hdfs dfs -cat URI : 查看文件内容 hdfs dfs -cat hdfs dfs -cat hdfs://mycluster/user/root/rcc1 hdfs dfs -cat ...

  9. hadoop(二):hdfs HA原理及安装

    早期的hadoop版本,NN是HDFS集群的单点故障点,每一个集群只有一个NN,如果这个机器或进程不可用,整个集群就无法使用.为了解决这个问题,出现了一堆针对HDFS HA的解决方案(如:Linux ...

  10. Cordova调用Activity

    首先需要编写一个CallActivityPlugin插件,专门调用Activity package com.example.plugin; import org.apache.cordova.api. ...