java基础-day08-集合和泛型

一.集合(长度可变)

1.集合层次图
java基础-day08-集合和泛型_第1张图片
Collection(接口)集合常用的接口:set和list
set:无序,元素不可重复
list:有序,元素可以重复
map集合常用的:hashMap和TreeMap
2.集合遍历(3种方式)
2.1.使用Iterator迭代器
2.2.使用foreach循环遍历
2.3.使用Lambda表达式遍历(Iterable接口中的forEach方法)
实例:MyTest-Day08-TestCollection.java Student.java
3.set集合常用的实现类:hashSet和treeSet
3.1.hashSet:元素不允许重复
实例:MyTest-Day08-TestCollection.java Student.java
怎样确保元素不重复:首先根据equals方法判断元素的内容是否相同,若返回false,则不是同一个对象,若返回true,则判断hashCode值,hashCode值相同,则返回true,否则返回false
3.2.TreeSet:不重复的集合,同时需要排序
支持自定义排序,若自定义TreeSet排序,那么该对象必须实现Comparable接口,否则会报ClassCastException异常
不允许存在null值
实例:MyTest-Day08-TestTree.java Student.java
4.list接口常用的实现类:ArrayList、LinkList
ArrayList:
4.1.元素有序,可重复。有下标
4.2.ArrayList对象是长度可变的对象引用数组,类似于动态数组
4.3.继承AbstractList并实现List接口
实例:MyTest-Day08-TestList.java
LinkList
4.4.除了实现list接口外,还实现了Deque接口,表示双向链表
4.list与HashSet转换:将重复的list集合转换为不重复的HashSet
实例:MyTest-Day08-TestListToHashSet.java

**二.Collections集合操作类、Arrays数组操作类

三.集合遍历(迭代)Interable Interator**

四.泛型

4.1.HashSet<>
HashSet set1 = new HashSet<>();//定义当前的set1只能保存String类型的元素
4.2.为什么使用泛型
实例:MyTest-Day08-TestGeneric.java

五.Map

5.1.键值对映射的数据结构
5.2.元素无序,key值不能重复
5.3.Map的实现类hashMap

实例:MyTest-Day08-IpInfo.java TestIpInfo.java

5.4.LinkedHashMap使用双向链表来维护key-value键值对的顺序,迭代顺序与key-value值的插入顺序相同
TreeMap存储key-value键值对时,根据key进行排序,可自定义排序方式

你可能感兴趣的:(java)