JAVA_SE_笔记整理(集合二)
集合二
1、增强for概述及使用
增强for概述
简化数组和Collection集合的遍历
格式:
for(元素数据类型 变量 : 数组或者collection集合) {
使用变量即可,该变量就是元素;
}
好处:简化遍历。缺点是没有索引。
注意事项:增强for的目标必须不会null
把前面的集合遍历用增强for改进。
2、静态导入概述及使用
静态导入概述
格式:import static 包名….类名.方法名;
可以直接导入到方法的级别
注意事项
方法必须是静态的
如果有多个同名的静态方法,不知道使用谁?这个时候要使用,必须加前缀。由此可见,意义不大,所以一般不用,但是要能看懂。
3、可变参数方法概述及使用
可变参数概述
定义方法的时候不知道该定义多少个参数
格式:
修饰符 返回值类型 方法名(数据类型… 变量名) {}
注意:这里的变量其实是一个数组;如果一个方法有可变参数,并且有多个参数,那么,可变参数肯定是最后一个。
4、Set接口概述
一个不包含重复元素的集合collection。
存储字符串并遍历
存储自定义对象并遍历
5、HashSet类概述
hashset类概述:
不保证set的迭代顺序
特别是它不保证该顺序恒久不变
加入的顺序与输出的顺序无关
HashSet如果保证元素唯一性:
底层数据结构是哈希表(元素是链表的数组)
哈希表依赖于哈希值存储
添加功能底层依赖两个方法:
int hashCode()
boolean equals(Object obj)
6、LinkedHashSet类概述:
LinkedHashSet类概述
元素有序唯一
由链表保证元素有序
由哈希表保证元素唯一