java基础 集合2

前9点,在另一篇作品中,可以从集合1开始观看

9.List遍历方式: 

10.Arraylist底层原理: 

 11.Linklist底层原理: 

1.LinkedList做队列和栈: 

package day01;import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;public class Test03 {public static void main(String[] args) {LinkedList<String> queue = new LinkedList<>();queue.add("第1个");queue.add("第2个");queue.add("第3个");queue.add("第4个");System.out.println("输出队列,先进先出");System.out.println(queue.removeFirst());System.out.println(queue.removeFirst());System.out.println(queue.removeFirst());System.out.println(queue.removeFirst());System.out.println("-------------------------------");System.out.println("栈输出,后进后出");LinkedList<String> stack = new LinkedList<>();
//        stack.add("第1个");
//        stack.add("第2个");
//        stack.add("第3个");
//        stack.add("第4个");
//        System.out.println(stack.removeLast());
//        System.out.println(stack.removeLast());
//        System.out.println(stack);stack.push("第1个");stack.push("第2个");System.out.println(stack.pop());System.out.println(stack);}
}

12.set集合: 

13.HashSet底层原理:

 14.LinkedHashSet底层原理:

 15.TreeSet:

16. collection总结:

17.集合的并发修改异常:

18.可变参数:

19.Collections工具类:

21.Map集合:

package day01;import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.TreeMap;public class Mapday1 {public static void main(String[] args) {/*
HashMap 无序 不重复,会覆盖前面 无索引*/Map<String, Integer> map = new HashMap<String, Integer>();map.put("wwx", 1);map.put("wwx", 4);map.put("wwx2", 2);map.put("wwx3", 3);System.out.println(map);
/*
LinkedHashMap 有序 不重复,会覆盖前面 无索引*/LinkedHashMap<String, String> lkMap = new LinkedHashMap<>();lkMap.put("wwx0", "000");lkMap.put("wwx1", "111");lkMap.put("wwx1", "1112");lkMap.put("wwx2", "222");System.out.println(lkMap);/*TreeMap<> 有序 不重复 无索引*/TreeMap<String, String> strMap = new TreeMap<>();strMap.put("wwx0", "000");strMap.put("wwx1", "111");strMap.put("wwx1", "1112");strMap.put("wwx2", "222");System.out.println(strMap);}
}

22Map常用方法: 

package day01;import java.util.*;public class Mapday1 {public static void main(String[] args) {/*
HashMap 无序 不重复,会覆盖前面 无索引*/Map<String, Integer> map = new HashMap<>();map.put("wwx1", 100);map.put("wwx2", 2);map.put("wwx3", 3);System.out.println(map);
//返回集合大小System.out.println(map.size());//清空键值对表//map.clear();//会判断键值对表 是否为空,为空ture,否则反之// System.out.println(map.isEmpty());int v1 = map.get("wwx1");System.out.println(v1);//获取全部键集合 Set集合接收 set不可重复,所以不会重复接收Set<String> strings = map.keySet();System.out.println(strings);//获取Map集合全部值 Collection集合接收Collection<Integer> values = map.values();System.out.println(values);/*putAll()方法*/System.out.println("-------------------------");Map<String ,Integer> map1=new HashMap<>();map1.put("put1",111);map1.put("put2",222);System.out.println(map1);Map<String ,Integer> map2=new HashMap<>();map2.put("put3",3);map2.put("put4",4);map1.putAll(map2);System.out.println(map2);System.out.println(map1);System.out.println(map2);}
}

23.Map遍历:

1.键找值

package day01;import java.util.*;public class Mapday1 {public static void main(String[] args) {/*
HashMap 无序 不重复,会覆盖前面 无索引*/System.out.println("--------------------");Map<String, Integer> map = new HashMap<>();map.put("wwx1", 1);map.put("wwx2", 2);map.put("wwx3", 3);Set<String> keySets = map.keySet();System.out.println(keySets);for (String keySet : keySets) {Integer integer = map.get(keySet);System.out.println(keySet + "-->>" + integer);}System.out.println("--------------------");}
}

2.键值对:

3.lambda遍历:

24.Map案例:

package day01;import java.util.*;public class Mapday1 {public static void main(String[] args) {//把80个学生选择的景点数据拿到程序中来ArrayList<String> data = new ArrayList<>();//假设ABCD为4个景点String[] select = {"A", "B", "C", "D"};Random r = new Random();for (int i = 0; i < 80; i++) {//模拟一个学生选择一个景点,存到集合中去int index = r.nextInt(4);//0123,包左不包右data.add(select[index]);}System.out.println(data);HashMap<String, Integer> result = new HashMap<>();//遍历80个景点数据for (String s : data) {//问问Map集合中是否存在该景点if (result.containsKey(s)) {//说明这个景点之前统计过,其值+1,存入到Map集合中去result.put(s, result.get(s) + 1);} else {//说明这个景点是第一次统计result.put(s, 1);}}System.out.println(result);}
}

25.HashMap集合底层原理:

26.LinkedHasMap集合的底层原理:

27.TreeMap集合底层原理:

 

此时TreeMap,无法识别类型无法排序 

 1.让类实现Comparable接口重写比较规则:

快捷键alt+insert,选择equals() and hashCode(),一直next

2.TreeMap集合自带的有参构造器,支持Comparator比较器对象,以便用来指定比较规则:

28.集合的嵌套:

package day02;import java.util.*;public class MapTest {public static void main(String[] args) {
//创建一个嵌套集合list集合的map集合,值为list集合,Map<String, List<String>> map = new HashMap<>();
//创建一个ArrayList集合来当作map集合的值ArrayList<String> cities = new ArrayList<>();
//调用Collections.addAll(list集合,”数据“,”数据“,···)批量添加数据Collections.addAll(cities, "厦门", "福州", "泉州", "漳州", "龙岩");
//map.put(键,值)方法,给map集合赋值       map.put("福建省", cities);System.out.println(map);//map.get(键),该方法可获得该键的值List<String> fjCities = map.get("福建省");
//增强for遍历for (String fjCity : fjCities) {System.out.println(fjCity);}System.out.println("-------------------------");
//lambda遍历map.forEach((p,c)->{System.out.println(p+"->"+c);});}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/125487.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL扩展语句和约束方式

一、扩展语句 复制&#xff0c;通过like这个语法直接复制bbb的表结构。只是复制表结构&#xff0c;不能复制表里面的数据 把bbb表里面的数据&#xff0c;复制到test&#xff0c;两个表数据结构要一致 创建一张表&#xff0c;test1,数据从bbb来&#xff0c;表结构也是bbb delete…

医院室内地图导航技术分析与作用

随着科技的不断发展&#xff0c;医疗行业的服务水平也在逐步提高。为了方便患者和医务人员&#xff0c;医院室内地图导航技术应运而生。这种技术运用了多种元素&#xff0c;包括模型地图、室内3D电子地图、路线指引、对接医院系统、位置分享和寻车导航等&#xff0c;为医院提供…

论文阅读——DistilBERT

ArXiv&#xff1a;https://arxiv.org/abs/1910.01108 Train Loss: DistilBERT&#xff1a; DistilBERT具有与BERT相同的一般结构&#xff0c;层数减少2倍&#xff0c;移除token类型嵌入和pooler。从老师那里取一层来初始化学生。 The token-type embeddings and the pooler a…

Linux的简介和环境搭建

简介 Linux是一套免费使用和自由传播的类Unix操作系统&#xff0c;是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想&#xff0c;是一个…

kafka-consumer-groups.sh

通过 kafka-consumer-groups.sh 脚本查看或变更消费组的信息。 查看消费者组信息 ./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list 查看指定消费者组的消费位移 ./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group g…

吃瓜教程3|决策树

ID3算法 假定当前样本集合D中第k类样本所占比例为pk&#xff0c;则样本集合D的信息熵定义为 信息增益 C4.5算法 ID3算法存在一个问题&#xff0c;就是偏向于取值数目较多的属性&#xff0c;因此C4.5算法使用了“增益率”&#xff08;gain ratio&#xff09;来选择划分属性 CA…

计算机网络与技术——数据链路层

&#x1f60a;计算机网络与技术——数据链路层 &#x1f680;前言☃️基本概念&#x1f94f;封装成帧&#x1f94f;透明传输&#x1f94f;差错检测 ☃️点对点协议PPP&#x1f94f;PPP协议的特点&#x1f94f;PPP协议的帧格式&#x1f50d;PPP异步传输时透明传输&#xff08;字…

13.计算机视觉

#pic_center R 1 R_1 R1​ R 2 R^2 R2 目录 知识框架No.1 数据增广一、数据增广二、D2L代码注意点三、QA No.2 微调一、微调二、D2L代码注意点三、QA No.3 第二次竞赛 树叶分类结果No.4 实战 Kaggle 比赛&#xff1a;图像分类&#xff08;CIFAR-10&#xff09;一、Kaggle Cifar…

java实现定时任务

java实现定时任务 1.Timer定时器 构造方法&#xff1a; Timer() 创建一个定时器 Timer(boolean isDaemon) isDaemon为true为守护线程定时器 Timer(String name) 创建一个定时器&#xff0c;其线程名字为name Timer(String name, boolean isDaemon) 结合2、3 方法&#xff1a;…

警惕听力下降的七大因素,一定要当心

随着现代社会的高速发展&#xff0c;工作生活节奏的加快&#xff0c;各种压力增大&#xff0c;再加上熬夜&#xff0c;长期佩戴耳机、饮食油腻辛辣等不良生活习惯的影响&#xff0c;听力损伤人群越来越多&#xff0c;已经不仅仅影响老年人群&#xff0c;近年来&#xff0c;听力…

双亲委派模型

双亲委派模型 JVM自带的三个类加载器什么是双亲委派模型&#xff1f;双亲委派模型的优点 JVM自带的三个类加载器 BootstrapClassLoader负责加载标准库中的类,Java有一个标准文档,描述了都要提供哪些类 ExtensionClassLoader负责加载JVM扩展的库,除了标准库之外,实现JVM的厂商…

k8s 资源预留

KUBERNETES资源管理之–资源预留 Kubernetes 的节点可以按照 Capacity 调度。node节点本身除了运行不少驱动 OS 和 Kubernetes 的系统守护进程&#xff0c;默认情况下 pod 能够使用节点全部可用容量&#xff0c; 除非为这些系统守护进程留出资源&#xff0c;否则它们将与 pod 争…

虚拟化的基础知识

目录 虚拟化基础 虚拟化的概念 虚拟化的特征&#xff08;本质&#xff09; 虚拟机的两大派别 VMM讲解 虚拟化中的一些重要概念 VMM的功能以及分类 虚拟化的架构 寄居虚拟化 裸金属虚拟化 操作系统虚拟化 混合虚拟化 虚拟化的三个方向 虚拟化基础 虚拟化的概念 什…

YOLO8实战:yolov8实现行人跟踪计数

本篇文章首先介绍YOLOV8实现人流量跟踪计数的原理,文末附代码 引言:行人跟踪统计是智能监控系统中的重要功能,可以广泛应用于人流控制、安全监控等领域。传统的行人跟踪算法往往受到光照、遮挡等因素的干扰,难以实现准确跟踪。随着深度学习技术的发展,目标检测模型逐渐成为…

Matlab2022b图文安装保姆级教程

注意&#xff1a;完成安装步骤1和步骤2之后&#xff0c;再去使用Matlab2022b 本次安装后的版本信息如下&#xff0c;64位软件&#xff0c;windows系统 Matlab2022a与2022b的比较 MATLAB主要用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险…

83. 删除排序链表中的重复元素、Leetcode的Python实现

博客主页&#xff1a;&#x1f3c6;看看是李XX还是李歘歘 &#x1f3c6; &#x1f33a;每天分享一些包括但不限于计算机基础、算法等相关的知识点&#x1f33a; &#x1f497;点关注不迷路&#xff0c;总有一些&#x1f4d6;知识点&#x1f4d6;是你想要的&#x1f497; ⛽️今…

Python 中__name__ == ‘__main__‘使用说明

在学习C语言的时候&#xff0c;程序的运行是从main函数开始的&#xff0c;因此&#xff0c;功能代码一般写到main函数中&#xff0c;子程序如果想要调用&#xff0c;也需要在main函数中进行调用。 然而&#xff0c;Python语言中&#xff0c;程序从第一行就开始执行(定义函数除外…

紧急:发现NGINX Ingress Controller for Kubernetes中的新安全漏洞

导语 大家好&#xff0c;今天我要向大家紧急报告一则消息&#xff1a;我们在NGINX Ingress Controller for Kubernetes中发现了三个新的安全漏洞&#xff01;这些漏洞可能被黑客利用&#xff0c;从集群中窃取机密凭据。在本文中&#xff0c;我们将详细介绍这些漏洞的细节&#…

百度文心一言搞起来

要快速使用文心一言&#xff0c;可以按照以下步骤&#xff1a; 了解文心一言&#xff1a;首先&#xff0c;你需要了解文心一言的基本功能和特点&#xff0c;包括它的语言处理能力、应用场景和优势等。这样可以帮助你更好地理解如何使用它。注册和登录&#xff1a;在开始使用文…

Jetpack:024-Jetpack中的滚动事件

文章目录 1. 概念介绍2. 使用方法2.1 高级事件2.2 低级事件 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack中事件相关的内容&#xff0c;本章回中主要 介绍事件中的滚动事件。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧&#xff01; 1. 概念介绍 我们在…