集合
java集合类存放于java.util包中,是一个用来存放对象的容器。
1.集合只能存放对象。比如你存一个int型数据,其实他是自动转换成integer类之后存入的,java中每一种基本类型都有对象的引用类型。
2.集合存放的是多个对象的引用,对象本身还是放在堆内存中。
3.集合可以存放不同类型,不限数量的数据类型。

Collection
Set,List,Map三种大体系。

HashSet
是Set接口的典型实现,大多数时候使用Set集合时都
是用这个实现类。

harmony java preferences存储数据 java collection用于存储_数据

哈希值
是JDK根据对象的地址或者字符串或者数字算出来的int类型的数值
Object类中有一个方法可以获得哈希值
hashCode();

同一个对象多次调用该方法,返回的哈希值是相同的。
默认的情况下,不同对象的哈希值是不同的。
(通过方法的重写,可以实现不同对象的哈希值是可以相同的)

注意:哈希值相同,但是其值不一定相同,这就是发生了哈希碰撞sout("重地".hashcode())和sout("通话".hashcode()).这个

harmony java preferences存储数据 java collection用于存储_数据_02


但是其值相同,其哈希值一定相同。

hashset集合的特点

1.不保证集合的迭代顺序,不保证存贮和取出的元素顺序一致

2.没有带索引的方法,不能用普通的for循环进行遍历。

3.同时由于hashset实现set的接口,是不包含重复元素的集合。

4.HashSet不是线程安全的。

5.集合元素可以使null

TreeSet

harmony java preferences存储数据 java collection用于存储_java_03


TreeSet是SortedSet接口的实现类,TreeSet可以确保集合元素处于排序状态。TreeSet支持两种排序方法:自然排序和定制排序。默认情况下,TreeSet采用自然排序。ArrayList

harmony java preferences存储数据 java collection用于存储_java_04


List代表一个元素有序,且可重复的集合,集合中的每个元素都有其对应的顺序索引。

List允许使用重复元素,可以通过索引来访问指定位置的集合元素。

List默认按元素的添加顺序设置元素的索引。

List集合里面添加了一些根据索引来操作集合元素的方法。

Map集合
Map用于保存具有映射关系的数据,因此Map集合里保存着两组值,一组值用于保存Map里的Key,另外一组用于保存Map里的Value;

Map中的key和value都可以使任何引用类型的数据

Map中的Key不允许重复,即通一个Map对象的任何两个Key通过equals方法比较中返回false

Key和Value之间存在单向一对一关系,即通过制定的Key总能找到唯一的,确定的Value。

**基本方法 **
添加元素map.put(Key,Value);
获取值 map.get(Key);
移除map.remove(Key);
获取map集合的长度map.size();
获取map集合的key集合 map.keySet();
获取map集合的value集合 map.vaues();