总的说来常用的集合类有两大类: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. wikioi 1688 求逆序对

    /*=========================================================== wikioi 1688 求逆序对 时间限制: 1 s 空间限制: 12800 ...

  2. MySQL和MongoDB语句的写法对照

    查询: MySQL: SELECT * FROM user Mongo: db.user.find() MySQL: SELECT * FROM user WHERE name = ’starlee’ ...

  3. web前端-面试经验总结

    这几次面试主要是冲着百度去的 面试1的主要问题: 笔试: 1.解释css盒子模型 2.常用选择器,以及优先级 3.B如何继承A 4.写一个闭包实例,有什么优点缺点 5.html5的心特性有哪些 6. ...

  4. 类找不到异常 Caused by: java.lang.NoClassDefFoundError

    错误原因:在部署应用的时候,服务器报错,Caused by: java.lang.ClassNotFoundException: org.quartz.impl.JobDetailImpl,某个类找不 ...

  5. nginx ssi 配置小细节(一)

    最近工作需要使用nginx的ssi (server side include)技术,在这里,将使用中的一点心得分享一下,也是一种备忘! 首先,nginx的ssi启用很简单,就只有三个最基本的指令: s ...

  6. Android 打包签名 从生成keystore到完成签名 -- 转

    首先,我们需要一个keystore,当然已经有了的话就不用这一步了:cmd下:进入到jdk的bin目录,这样的话,android.keystore文件就会生成在这个目录下,签名的时候我们需要这个文件C ...

  7. zend studio 12汉化和破解

    首先提供一个 zend studio 12汉化的百度连接地址(我的网盘里有) http://pan.baidu.com/s/1dD5x1cd 下载后解压 安装方法 Help–> Install  ...

  8. 2015年8月TIOBE编程语言排行榜

    名副其实的月经贴.

  9. TX Textcontrol 使用总结二——常见异常

    在使用Tx text control中间,我们经过会遇到在开发人员自己的电脑上我们的程序是可以正常允许的,但当部署到客户端却往往会发现一些意想不到的问题 如下所示: 未能加载文件或程序集“txtool ...

  10. 报错:java.io.FileNotFoundException: (系统找不到指定的路径。)

    报错如下: java.io.FileNotFoundException: E:\apache-tomcat-8.0.37\webapps\20161028-FileUpLoad\WEB-INF\fil ...