当前位置: 首页> 汽车> 报价 > 网站修改_绵阳网站建设哪家好_建立网站平台_河南新闻头条最新消息

网站修改_绵阳网站建设哪家好_建立网站平台_河南新闻头条最新消息

时间:2025/7/11 8:04:35来源:https://blog.csdn.net/xiaozhuzhu__/article/details/142864236 浏览次数: 0次
网站修改_绵阳网站建设哪家好_建立网站平台_河南新闻头条最新消息

以下学习笔记记录于:2024.10.04-2024.10.08

文章目录

  • 阶段二 JavaSE进阶
    • 第四章 集合框架
      • 4-3 Set系列集合
        • 99 LinkedHashSet集合
        • 100 TreeSet集合
      • 4-4 集合的小知识
        • 101 Collection系列集合小结
        • 102 注意事项:集合的并发修改异常问题
        • 103 前置知识:可变参数
        • 104 集合的工具类:Collections

阶段二 JavaSE进阶

第四章 集合框架

4-3 Set系列集合

99 LinkedHashSet集合

image-20241004222529490

100 TreeSet集合

image-20241004223050115

TreeSet排序方法需回顾“笔记10 阶段二 第二章 2-4 64-65”的内容

image-20241004225556514

image-20241004225532529

image-20241008101505396

4-4 集合的小知识

101 Collection系列集合小结

image-20241008104606183

102 注意事项:集合的并发修改异常问题

image-20241008110028506

CollectionTest1.java:

package com.itheima.hello.d5_collection_exception;import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;public class CollectionTest1 {public static void main(String[] args) {List<String> list = new ArrayList<>();list.add("王麻子");list.add("小李子");list.add("李爱华");list.add("张全蛋");list.add("晓李");list.add("李大刚");System.out.println(list);// 需求:找出集合中全部带“李”的名字,并从集合中删除// 错误做法:出现集合并发修改异常错误(在删除name之后,集合内容往前移,而it指向了下一个元素,进而导致错误发生)// 用迭代器遍历ArrayList集合(有索引)
//        Iterator<String> it = list.iterator();
//        while (it.hasNext()){
//            String name = it.next();
//            if (name.contains("李")){
//                list.remove(name);
//            }
//        }
//        System.out.println(list);   // 报错
//
//      // 用for循环遍历ArrayList集合(有索引)
//        for (int i = 0; i < list.size(); i++) {
//            String name = list.get(i);
//            if (name.contains("李")){
//                list.remove(name);
//            }
//        }
//        System.out.println(list);   // 输出[王麻子,李爱华,张全蛋,李大刚]
//
//        // 使用增强for循环遍历(相当于迭代器遍历集合的简化写法),因为拿不到迭代器,所以会报错
//        for (String name : list) {
//            if (name.contains("李")){
//                list.remove(name);
//            }
//        }
//        System.out.println(list);   // 报错
//
//        // 用foreach遍历(相当于增强for,点击查看源码即可看到)
//        list.forEach(name -> {
//            if (name.contains("李")){
//                list.remove(name);
//            }
//        });
//        System.out.println(list);   // 报错System.out.println("--------------------------------------------");// 正确做法:1、用for循环顺着遍历并i--,或者倒着遍历进行删除;2、用迭代器自己的删除方法for (int i = 0; i < list.size(); i++) {String name = list.get(i);if (name.contains("李")){list.remove(name);i--;}}System.out.println(list);   // 输出[王麻子、张全蛋]Iterator<String> it = list.iterator();while (it.hasNext()){String name = it.next();if (name.contains("李")){it.remove();    // 删除迭代器当前遍历到的数据,每删除一个数据后,相当于也在底层做了i--}}System.out.println(list);   // 输出[王麻子、张全蛋]}
}
103 前置知识:可变参数

image-20241011193617634

image-20241011193834014

104 集合的工具类:Collections

image-20241011194054140

public static void shuffle(List<?> list):打乱List集合中的元素顺序。 ——> 可用于斗地主洗牌

image-20241011195220132

CollectionsTest1.java:

_package com.itheima.hello.d2_collections;import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;// 目标:掌握Collections集合工具类的使用
public class CollectionsTest1 {public static void main(String[] args) {// 1、public static <T> boolean addAll(Collection<? super T> C, T...element): 为集合批量添加数据List<String> names = new ArrayList<>();Collections.addAll(names, "张三", "李四", "王五", "赵六");System.out.println(names);// 2、public static void shuffle(List<?> list):打乱List集合中的元素顺序。 ——> 可用于斗地主洗牌Collections.shuffle(names);System.out.println(names);// 3、public static <T> void sort(List<T> list):对List集合中的元素进行升序排序。List<Integer> list = new ArrayList<>();list.add(3);list.add(5);list.add(2);Collections.sort(list);System.out.println(list);List<Student> students = new ArrayList<>();students.add(new Student("蜘蛛精", 23, 169.5));students.add(new Student("紫霞仙子", 18, 165.0));students.add(new Student("紫霞仙子", 18, 165.0));students.add(new Student("至尊宝", 25, 189.5));Collections.sort(students);System.out.println("按照年龄排序:" + students);// 4、public static <T> void sort(List<T> list, Comparator<? super T> c): 对List集合中元素,按照比较器对象指定的规则进行排序// 可用Lambda表达式简化Collections.sort(students, new Comparator<Student>() {@Overridepublic int compare(Student o1, Student o2) {return Double.compare(o1.getHeight(), o2.getHeight());}});System.out.println("按照身高排序:" + students);}
}
关键字:网站修改_绵阳网站建设哪家好_建立网站平台_河南新闻头条最新消息

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: