JAVA中集合类的使用
总的说来常用的集合类有两大类: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中集合类的使用的更多相关文章
- 首先java中集合类主要有两大分支
本文仅分析部分原理和集合类的特点,不分析源码,旨在对java的集合类有一个整体的认识,理解各个不同类的关联和区别,让大家在不同的环境下学会选择不同的类来处理. Java中的集合类包含的内容很多而且很重 ...
- java 中 集合类相关问题
1,Java中Collection和Collections的差别 java.util.Collection 是一个集合接口.它提供了对集合对象进行基本操作的通用接口方法. Collection接口在J ...
- java中集合类中Collection接口中的List接口的常用方法熟悉
1:集合类,在java语言中的java.util包提供了一些集合类,这些集合类又被称作容器. 2:区别集合类和数组.(1)数组的长度是固定的,集合的长度是可变的.(2)数组是用来存放基本数据类型的,集 ...
- java中集合类详解
集合类说明及区别 Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └W ...
- java中集合类中Collection接口中的Map接口的常用方法熟悉
1:Map接口提供了将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值.Map接口中同样提供了集合的常用方法. 2:由于Map集合中的元素是通过key,value,进行存储的,要 ...
- java中集合类中Collection接口中的Set接口的常用方法熟悉
1:Set集合由Set接口和Set接口的实现类组成,Set接口继承了Collection接口,因为包含Collection接口的所有方法. 2:由于Set接口中不允许存在重复值,因此可以使用Set集合 ...
- java中集合类HashSet、ArrayList、LinkedList总结
[HashSet] 1. HashSet存储不能够存储相同的元素,元素是否相同的判断:重写元素的equals方法.equals方法和hashCode方法必须兼容,如:equals方法判断的是用户的名字 ...
- Java中集合类
一.Collection Collection 接口用于表示任何对象或元素组.想要尽可能以常规方式处理一组元素时,就使用这一接口.Collection 在前面的大图也可以看出,它是List 和 Set ...
- java中集合类的简介
结构 collection(接口) List(接口) LinkedList(类) ArrayList(类) Vector(类) Stack(类) Set(接口) Map(接口) Hashtable(类 ...
随机推荐
- JavaScript文件中调用AngularJS内部方法或改变$scope变量
需要在其他JavaScript文件中调用AngularJS内部方法或改变$scope变量,同时还要保持双向数据绑定: 首先获取AngularJS application: 方法一:通过controll ...
- java连接SQLserver
1.pom.xml添加: <dependency> <groupId>com.hynnet</groupId> < ...
- Java中的定时器Timer
java.util.Timer是一个实用工具类,该类用来调度一个线程,使线程可以在将来某一时刻开始执行. Java的Timer类可以调度一个线程运行一次,或定期运行. java.util.TimerT ...
- jquery.find()
http://www.365mini.com/page/jquery-find.htm
- EditText使用详解-包含很多教程上看不到的功能演示
写道 标题有点大,说是详解,其实就是对EditText的一些常用功能的介绍,包括密码框,电话框,空白提示文字等等的讲解,尽量的介绍详细一点,也就是所谓的详解了..呵呵 广告一下我的应用“我团”,最新1 ...
- sublime text 3 安装注释
sublime text 3 1.安装Sublime Text 3 下载安装:http://www.sublimetext.com/3 Package Control安装:https://subli ...
- 黄聪:深入理解PHP Opcode缓存原理
什么是opcode缓存? 当解释器完成对脚本代码的分析后,便将它们生成可以直接运行的中间代码,也称为操作码(Operate Code,opcode).Opcode cache的目地是避免重复编译,减少 ...
- Mysql讲解数据库并发控制知识
1.下载Mysql并安装,我喜欢不用安装的zip版,cd到bin目录下,先修改下mysql的密码. mysqladmin -u root -p password mysql ,第一次运行并修改mysq ...
- 从网站上复制代码到MyEclipse后每行都是字符编码错误的解决办法
注意图中的工具栏的按钮:Show Whitespace Characters(Window->Preferences->General->Editors->Text Edito ...
- DBA_Oracle Erp版本升级12.1.1到R12.1.3(案例)
20150506 Created By BaoXinjian