主题:java集合的分类与介绍
目录:
一:集合是什么?
二:使用集合的功能?
三:集合的三种类型介绍
四:集合常用的方法
五:参考资料
正文
一:集合是什么?
集合是一种数据的存储方式,与数组相似,却又和数组不同,最大的不同在于,集合的数据大小是可以进行调整和动态变化的。正是因为这一点,java设计者构思了集合这种精巧的数据结构。集合用于存放不确定数量的数据类型和保存具有映射关系的数据,用于存放在java.lang.util包下
二:使用集合的功能?
2.1:可以保存不确定数量的数据
2.2:可以保存具有映射关系的数据
2.2:解决数组最大的不能解决的问题
三:集合的三种类型介绍
3.1:set
set集合的特点是:数据不能重复,通过equals方法来比较返回flase(因为其如果为ture,则hash值相同)的两个元素可以添加进去(注意不是使用==)
3.1.1:set的实现接口hashset
hashset是set接口的实现类,其通过计算对象的哈希值来进行数组的存储,hash值间接(非直接)作为数据的索引值来决定其数据的存储的位置,其值是独一无二的。当进行值调用的时候,hashset首先会定位其目标对象的hash值来寻找其对象,所以决定了hashset的快速访问机制。
3.1.2:set的实现接口linkedhashset
linkedhashset是set接口的另一个实现类,其采用的也是hash值来决定值的存储位置,但是其访问顺序是通过链表来实现的。而并非通过hash值,当对linkedhashset进行遍历的时候,是根据链表的位置来进行的,因为其使用链表维护其存储位置,所以当进行全部遍历的时候具有很好的性能。
3.2:list
list经常使用的Arraylist,其可以通过索引值来进行访问,所以list的值是可以重复的。
3.2:map
map最大的特点就是使用映射关系,通过key-value值对应,来检索key值完成value值的访问,其数据也可以重复.
代码测试:
import java.util.ArrayList;
import java.util.*;
public class collection {
public static void main(String[] args){
Collection ct=new ArrayList();
ct.add("crins");
ct.add(6);
System.out.println("C集合的元素个数为:"+ct.size());
System.out.println("C集合的是否包含李一的字符串:"+ct.contains("李一"));
ct.add("轻量级J2EE企业应用实践");
System.out.println("c集合的元素为:"+ct);
Collection bks=new HashSet();
bks.add("JavaSe的学习实践");
bks.add("Spring怎么学");
bks.add("ct");
ct.remove(bks);
ct.clear();
System.out.println("ct集合的元素为:"+ct);
bks.retainAll(ct);
System.out.println("books集合的元素为:"+bks);
四:集合中常用的方法
4.1:添加元素的方式
set.put() list.add() map.put(key,value)
五:参考资料
《java疯狂讲义》 《core java 卷I》