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;是一个…

吃瓜教程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;字…

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

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

k8s 资源预留

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

虚拟化的基础知识

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

Matlab2022b图文安装保姆级教程

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

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;我们将详细介绍这些漏洞的细节&#…

Jetpack:024-Jetpack中的滚动事件

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

ROS自学笔记二十: Gazebo里面仿真环境搭建

Gazebo 中创建仿真实现方式有两种:1直接添加内置组件创建仿真环境2: 手动绘制仿真环境 1.添加内置组件创建仿真环境 1.1启动 Gazebo 并添加组件 1.2保存仿真环境 添加完毕后&#xff0c;选择 file ---> Save World as 选择保存路径(功能包下: worlds 目录)&#xff0c;文…

【算法练习Day34】整数拆分不同的二叉搜索树

​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;练题 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录 整数拆分不同的二叉搜索树总…

【httpd】 Apache http服务器目录显示不全解决

文章目录 1. 文件名过长问题1.1 在centos中文件所谓位置etc/httpd/conf.d/httpd-autoindex.conf1.2 在配置文件httpd-autoindex.conf中的修改&#xff1a;1.3 修改完成后重启Apache&#xff1a; 1. 文件名过长问题 1.1 在centos中文件所谓位置etc/httpd/conf.d/httpd-autoindex…

论坛搭建.

目录 一.配置软件仓库 二.安装http php miriadb 三.配置数据库 四.源码拖拽并解压 五.防火墙通过 六.浏览器安装测试 七.界面参数设置 一.配置软件仓库 1.进入仓库目录 cd /etc/yum.repos.d 2.创建仓库文件 vim local.repo 3.在 local.repo中写入:(粘贴的时候注意位…

吐血整理,Jmeter接口测试-项目案例场景,直接上高速...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 场景一&#xff1…

如何优雅的开发?低代码搭建应用如此轻松

目录 一、前言 二、低代码平台体验简述 三、关于平台 四、场景及用户分析 五、产品分析 1、着重讲一下JNPF的编辑器 2、业务流程 六、最后&#xff0c;说些心里话 一、前言 低代码平台改变了应用交付和管理的模式&#xff0c;大幅缩减交付周期&#xff0c;最终帮助业务…

AcWing第 127 场周赛 - AcWing 5283. 牛棚入住+AcWing 5284. 构造矩阵 - 模拟+快速幂+数学

AcWing 5283. 牛棚入住 题目数据范围不大&#xff0c;直接暴力模拟即可 按照题目所说的意思即可。 #include <math.h> #include <stdio.h> #include <algorithm> #include <cstring> #include <iostream> using namespace std; const int N 1…