Collection
List
ArrayList
创建对象
List list = new ArrayList ( ) ;
常用方法
方法 说明 .add() 向集合添加新的元素 .remove() 括号填下标 删除括号下标的元素 .get() 根据下标获取元素
LinkedList
创建对象
LinkedList list = new LinkedList ( ) ;
常用方法
方法 说明 .addFirst() 在集合第一位添加元素 .addLast() 在集合最后一位添加元素 .contains() 检测集合中是否包含括号内的元素 返回值为boolean .removeFirst() 删除首位元素 .removerLast() 删除末尾元素 .getFirst() 获取首位元素 .getLast() 获取末尾元素 .clear() 清空集合中的数据元素 .isEmpty() 判断是否是一个空集合 返回值为boolean
遍历
List list = new ArrayList ( ) ;
list. add ( 1 ) ;
for ( int i = 0 ; i < list. size ( ) ; i++ ) {
System . out. println ( list. get ( i) ) ;
}
Collection 接口、List 接口、Set 接口、Map接口 的特点
Collection 接口存储一组不唯一,无序的对象 List 接口存储一组不唯一,有序(插入顺序)的对象 Set 接口存储一组唯一,无序的对象 Map接口存储一组键值对象,提供key到value的映射
ArrayList和LinkedList区别
ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高 LinkedList采用链表存储方式。插入、删除元素时效率比较高
Set
HashSet
创建对象
Set set = new HashSet ( ) ;
常用方法
方法 说明 .add() 向集合添加新的元素 .remove() 括号填下标 删除括号下标的元素 .get() 根据下标获取元素
TreeSet
创建对象
TreeSet set = new TreeSet ( ) ;
常用方法
.addFirst() 在集合第一位添加元素 .addLast() 在集合最后一位添加元素 .contains() 检测集合中是否包含括号内的元素 返回值为boolean .removeFirst() 删除首位元素 .removerLast() 删除末尾元素 .getFirst() 获取首位元素 .getLast() 获取末尾元素 .clear() 清空集合中的数据元素 .isEmpty() 判断是否是一个空集合 返回值为boolean
遍历
Set set = new HashSet ( ) ;
set. add ( 1 ) ;
set. add ( 2 ) ;
for ( Object key: set) {
System . out. println ( key) ;
}
Map
HashMap
创建对象
Map map = new HashMap ( ) ;
常用方法
方法 说明 .put(“键”,对象) 添加数据 .keySet() 输出键集合 .containsKey(对象/变量或键) 判断括号内的数据是否存在 .values() 返回值的集合
遍历
Map map = new HashMap ( ) ;
map. put ( "鸟" , "飞鸟" ) ;
map. put ( "狗" , "舔狗" ) ;
Set set = map. keySet ( ) ;
Iterator iterator = set. iterator ( ) ;
while ( iterator. hasNext ( ) ) {
String key = ( String ) iterator. next ( ) ;
String value = ( String ) map. get ( key) ;
System . out. println ( key+ ":" + value) ;
}
循环遍历
普通for循环
List list = new ArrayList ( ) ;
list. add ( 1 ) ;
for ( int i = 0 ; i < list. size ( ) ; i++ ) {
System . out. println ( list. get ( i) ) ;
}
增强for循环
list. forEach ( System . out:: println ) ;
for ( Object key: list) {
System . out. println ( key) ;
}
迭代器
Map map = new HashMap ( ) ;
map. put ( "鸟" , "飞鸟" ) ;
map. put ( "狗" , "舔狗" ) ;
Set set = map. keySet ( ) ;
Iterator iterator = set. iterator ( ) ;
while ( iterator. hasNext ( ) ) {
String key = ( String ) iterator. next ( ) ;
String value = ( String ) map. get ( key) ;
System . out. println ( key+ ":" + value) ;
}
泛型
特点: 泛型集合 可以定义添加数据的类型 方便之处在于不需要强转 就可以直接获取数据 语法:
List < Student > list = new ArrayList < > ( ) ;
Student s = new Student ( "张三" , "男" ) ;
list. add ( s) ;
System . out. println ( list. get ( 0 ) . getName ( ) ) ;