Java横向三天复习Day2
一、Java容器
1.List
1.1 AarryList和LinkedList
ArrayList和LinkedList区别:前者查询效率更高,后者更占内存
List list=new ArrayList();//LinkedList 两者区别为底层内存的区别
list.add("福气");
list.add("人气");
list.add("人气");
System.out.println(list);
list.remove("福气");
System.out.println(list.size());
System.out.println(list.get(1));
System.out.println(list.contains("康师傅")?"对的":"错的");
get需要做强装类型并且返回一个新的字符串
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JNcGVL7u-1655120244872)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220613152303061.png)]
2.Set
2.1.HashSet和TreeSet
Set set=new HashSet();//不能添加重复的数据
set.add("DNF");
set.add("LOL");
//HashSet不是按照我们书写的顺序存储 默认不排序
Set s1=new TreeSet();
s1.add(1);
s1.add(3);
//默认进行排序
Set的操作:
add()添加元素
remove()删除元素
size() 查询set中的元素的个数
contains()是否包含xxxx
3.Map
3.1.HashMap和TreeMap
HashMap不排序,TreeMap排序。
Map map=new HashMap();
map.put("jay","周杰伦");
map.put("wf","汪峰");
System.out.println(map);
结果:
{jay=周杰伦, wf=汪峰}
1.put(key,value)存储数据。
2.remove(key)删除数据。
3.size() map存储了多少个键值对。
- containsKey()判断map是否包含了xxxx。
- 如果出现了相同的key,原来的数据会被顶掉。
6.keySet()把map中的所有key打包成set集合返回.
7.get() 查键值返回value值
4.迭代器Iterator
List list=new ArrayList();
list.add("我");
list.add("真帅");
list.add("超帅");
list.add("很帅");
//创建迭代器
Iterator iterator=list.iterator();
while (iterator.hasNext()){
String s1= (String) iterator.next();
System.out.println(s1);
}
结果:遍历
Set set=map.keySet();
Iterator iterator=set.iterator();
while (iterator.hasNext()){
String key= (String) iterator.next();
System.out.println(map.get(key));
}
//方案二
Set set=map.entrySet();//set里面装的是entry
Iterator iterator=set.iterator();//拿到迭代器
while (iterator.hasNext()){
Map.Entry entry= (Map.Entry) iterator.next();
System.out.println(entry.getKey());
System.out.println(entry.getValue());//得到所有的key的value
}
二、泛型
加了泛型不需要强转或者抛出异常 那么的麻烦,在<>里面增加类型即可
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b5UCzGUz-1655120244874)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220613172522354.png)]
1.1 自定义泛型
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yuHpfpkV-1655120244874)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220613173146216.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-byphR3Pv-1655120244875)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220613173201601.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JSb5ZV7H-1655120244875)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220613173512065.png)]
三、增强For循环
3.1. 便捷循环
String[] arr={"hello","你好","杜总","杜帅"};
for (String s:arr){
System.out.println(s);
}
List list=new ArrayList();
list.add("杜老板");
list.add("杜董事长");
list.add("杜CEO");
list.add("杜宗主");
for (Object s:list){
System.out.println(s);
}
四、Collections工具类
4.1.使用工具类函数
List<Integer>list=new ArrayList<Integer>();
list.add(143);
list.add(121);
list.add(172);
Integer min=Collections.min(list);
System.out.println(min);
Integer max=Collections.max(list);
System.out.println(max);
Collections.sort(list);
Collections.shuffle(list);
Collections.addAll(list,888,999,111,222,333);
Collections.sort(list);
System.out.println(list);
ut.println(max);
Collections.sort(list);
Collections.shuffle(list);
Collections.addAll(list,888,999,111,222,333);
Collections.sort(list);
System.out.println(list);
|