集合

来源:互联网 发布:网络流行歌曲2017劲爆 编辑:程序博客网 时间:2024/05/21 15:06

集合

含义:是一些对象的储藏空间,仅仅只能含有对象。 

分类:

Set:无序,不重复

List:有序,可重复

Map:当中以”键值对”去存放数据。

集合图解:


SortedSet是Set的子接口,里面是需要排序的set集合所必须实现的方法。

SortedMap是Map接口的子接口,里面是需要排序的map集合所需要实现的方法。

Hashset:是set接口的实现类,里面存放的是不重复,无序的引用类型的数据。(将集合中的引用类型数据和新插入的引用类型数据进行比较(hashcode和equals),如果相同则不在插入新数据。)

Hashmap:是map接口的实现类,里面存放的是键不重复的引用类型数据。(将集合中的引用类型数据和新插入的引用类型数据进行比较(hashcode和equals),如果相同则将新数据替换(覆盖)原有数据。)

注:set和list都实现了collection中Iterable接口,可以用迭代器直接遍历。

         Map没有实现collection中Iterable接口,所以不能直接用迭代器遍历,可以将map转换成Set集合,间接遍历。

Hash哈希相同的不一定是同一个对象,但哈希不同的肯定不是一个对象。

遍历集合的两个方法:

①用iterator②加强for循环

集合名.iterator();hasNext()判断集合下一位置是否为空。Next()读取迭代器中的内容。

for(接收数据类型 变量名:集合名)(System.out.println(变量名))。

Map间接遍历的三种方式:

①map.keySet()然后使用迭代器,然后强转使用.get(key)根据key值获得Value。

②map.entrySet(),然后用getKey()和getValue()取得值。

③map.value(),然后迭代器,调用getValue()取得key值。

泛型<>:里面只能放引用类型。

泛型可以表示经常变化的类型

可以放在集合和类后面表示里面描述数据的类型。?可以作为通配符。

l properties是一个map集合,可以通过数据流从文件(扩展名.properties)中读取里面的资源。里面必须以键值对的形式存放(配置文件)。getProperties(“键”)根据键获取对应的值。

泛型

泛型可以使类中的属性的类型可以由外部决定

不需要强制类型转换

  泛型可以在*编译期间*进行类型检查

  提供了类型安全的操作

注:编译器的泛型兼容性检查:I.泛型类型和原始类型的兼容性,原始类型可以引用一个泛型类型,泛型类型可以引用一个原始类型的对象。

II.类型参数不同的泛型类型不能互相引用,不考虑类型参数间的继承,例List<Object> l = new ArrayList<String>(); //错误

枚举类型

枚举类型:表示类的对象有限(java中有些类的对象是固定的)

①对象需要显式的在类体中列举出来②枚举类型默认是Enum的子类,构造方法是私有的。③不能new对象。④声明枚举类型用Enum关键词。

枚举类型的对象必须 类名.valueOf(“对象名”)获得,无论拿多少次都是同一个对象。

或者类名.对象。

 可以实现接口({}内实现或者类体中直接实现),可以包含abstract方法(必须在对象{中}实现),重写构造方法要在列举对象后(指定)。

 枚举类型类似于匿名内部类。

0 0
原创粉丝点击