Java横向三天复习Day2

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存储了多少个键值对。

扫描二维码关注公众号,回复: 14268752 查看本文章
  1. containsKey()判断map是否包含了xxxx。
  2. 如果出现了相同的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);
  }
结果:遍历
//方案一:想要通过各自的key拿到对应的value
   Set set=map.keySet();//拿到所有的key
   Iterator iterator=set.iterator();//拿到迭代器
   while (iterator.hasNext()){
    
    
       String key= (String) iterator.next();//所有的key
       System.out.println(map.get(key));//通过key拿到value
   }
//方案二
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 (数组类型 自定义新变量名:数组名字){
    
    
//        循环体
//    }
     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);

猜你喜欢

转载自blog.csdn.net/m0_62491934/article/details/125266206