Java笔记(3)

举报
yd_253276904 发表于 2024/05/31 20:51:29 2024/05/31
【摘要】 数据结构集合(Collection)list系列集合:添加的元素是有序(录入)、可重复、有索引 ArrayList<String> list = new ArrayList<>();set系列集合: 添加的元素是无序,不重复,无索引的.add() .contains(“STRING”) .size()列表迭代器遍历 ListIterator<String> iterator = list....

数据结构

集合(Collection)

image-20240514190113288.png


list系列集合:

添加的元素是有序(录入)、可重复、有索引

 ArrayList<String> list = new ArrayList<>();


set系列集合:

添加的元素是无序,不重复,无索引的

.add() .contains(“STRING”) .size()

列表迭代器遍历

 ListIterator<String> iterator = list.listIterator();
         while (iterator.hasNext()){
             String s = iterator.next();
             if(s.equals("b")){
                 iterator.remove();//iterator.add("qqq");
             }
             System.out.println(s);
         }

集合遍历

  1. Iterator<E>iterator

     Iterator<String> iterator = collection.iterator();
             while (iterator.hasNext()){
                 String s = iterator.next();
                 System.out.println(s);
             }


  2. 增强for

     for (String s : collection) {
                 System.out.println(s);
             }
     //s是临时变量,如果修改了增强for中的变量是不会改变集合中原本的数据


  3. Lambda遍历

      collection.forEach(s->System.out.println(s));
 Set<String>set1=new HashSet<>();
 Set<String> set = list.stream().collect(Collectors.toSet());

三种通用的遍历方式: 迭代器:在遍历的过程中需要删除元素,请使用迭代器。 增强for、Lambda: 仅仅想遍历,那么使用增强for或Lambda表达式


HashMap

image-20240514200830393.png

image-20240523123556294.png


Map是双列集合的顶层接口,他的功能是全部双列集合继承使用的

         //创建Map集合对象
         Map<String,String> m = new HashMap<>();
         //添加元素
         //put 添加和覆盖
         //如果键不存在则添加,返回null
         // 如果键存在则覆盖,并把原有的数据返回
         m.put("Leo","Ann");
         m.put("Luck","Lucy");
         String s = m.put("Anna","Lucy");
         System.out.println(s);//原数据中没有anna,所以返回null
 ​
         String s1 = m.put("Luck","Fuck");
         System.out.println(s1);
 ​
         String result = m.remove("Leo");
         System.out.println(result);
         //删除返回被删除的值
         String s2 = m.remove("Luck");
         System.out.println(s2);
         //判断键是否存在
         boolean valueResult = m.containsValue("Lucy");
         System.out.println(valueResult);
         boolean isResult = m.isEmpty();
         if(isResult){
             System.out.println("集合为空");
         }else{
             System.out.println("集合不为空");
         }
         System.out.println(m);
 ​
         Map<String,String>map = new HashMap<>();
         map.put("Leo","Ann");
         map.put("Luck","Lucy");
         map.put("Anna","Lucy");
 ​
         Set<String> keys = map.keySet();
 ​
         //增强for循环遍历
         for (String key : keys) {
             System.out.println(key);
             String value = map.get(key);
             System.out.println(key+"="+value);
         }
 ​
         //lambda表达式遍历
         map.keySet().forEach(key->{
             System.out.println(key);
             String value = map.get(key);
             System.out.println(key+"="+value);
         });
 ​
         //迭代器遍历
         Iterator<String> it = map.keySet().iterator();
         while(it.hasNext()){
             String key = it.next();
             System.out.println(key);
             String value = map.get(key);
             System.out.println(key+"="+value);
         }
 ​
         //增强for循环遍历
         Set<Map.Entry<String,String>> entrySet = map.entrySet();
         for (Map.Entry<String,String> entry : entrySet) {
             String key = entry.getKey();
             String value = entry.getValue();
             System.out.println(key+"="+value);
         }
 ​
         for(Map.Entry<String,String> entry : map.entrySet()){
             String key = entry.getKey();
             String value = entry.getValue();
             System.out.println(key+"="+value);
         }
 ​
         //lambda表达式遍历
         map.forEach(new BiConsumer<String, String>() {
             @Override
             public void accept(String key, String value) {
                 System.out.println(key + "=" + value);
             }
         });
         System.out.println("---------------------");
         map.forEach((String key,String value)->{
             System.out.println(key+"="+value);
         });

LinkedHashMap

image-20240523124332017.png


二叉树(BinaryTree)

平衡二叉树

红黑树

image-20240515154357633.png

常用快捷键

Alt + enter 一键补全

Alt + insert 一键初始化改写

Ctrl + n 查找类名源代码

Ctrl + b 查看源代码

Ctrl + Alt + m 代码提取,封装成方法

Ctrl + Alt + ← 回到上一个源码类

Ctrl + F12 查找用法

Ctrl + Alt + l 规范代码

Alt + 7 查看代码结构

Ctrl AIT v Runtime.getRuntime();===>Runtime runtime = Runtime.getRuntime();

添加依赖(导包)

在根目录新建lib文件夹,导入代码,并右键点击add as library

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。