Java高级(二)集合框架和泛型
回顾
1.集合框架
Iterator
Collection:无序,不唯一
- List 有序,不唯一 Set 无序,唯一
- ArrayList LinkedList HashSet:存储唯一的数据
- ArrayList的底层是数组结构 由于有索引值,查询遍历效率高,每次插入删除都需要创建新的数组,所以插入删除效率低
- LinkedList的底层是链表结构 插入删除元素效率高,只需要改变指针,但是查询的效率低
本章
1.会使用Map存取数据
注意事项:
键必须唯一,值可以重复
- 因为键是唯一的所以在操作每一个键值对的时候 都是通过键来操作的
- 如果给相同的key进行赋值。那么会进行覆盖更新
键值对(夫妻对):根据键获取值
HashMap
put() 存储键值对
get() 根据键获取值
remove 根据键删除值
size() 获取键值对个数
Collection values(); 获取所有值的集合
Set<> keySet(); 获取搜有的键的集合
Set<Entry<,>> entrySet(); 输出键和值
containsKey(); 返回值为布尔类型
2.掌握泛型的使用
- JDK1.2 Java被分成三部分,Java-SE(桌面) Java-EE(网页) Java-ME(嵌入式)。
- JDK1.5 Java语言引入泛型。
- <>泛型里必须写包装数据类型或者引用数据类型
-
<font size=4 color=gray>**int Integer**</font>
-
<font size=4 color=gray>**char character**</font>
-
<font size=4 color=gray>**byte Byte**</font>
-
<font size=4 color=gray>**short Short**</font>
-
<font size=4 color=gray>**boolean Boolean**</font>
优势:
1.不需要进行类型转换
2.如果在不清楚需要存储何方类型数据时 可以用泛型占位符 进行临时替代
3.Collections的使用
集合的工具类。
数组工具Arrays:
List asList(T… param);
可变参数:
以前:(String name,String gender)
可变参数:(String … names) 传入一个或者多个参数 甚至不传
常用方法:
sort():排序,升序
binarySearch() 查找
max()\min():查找最大\最小值
fill():替换集合中的元素
其他的工具类:
生成随机数公式
Ramdom rand=new Random();
rand.nextInt(max-min+1)+min;//生成max-min之间的随机数
int rand=(int)(Math.random()*(max-min))+min