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);
    }
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深度学习与计算机视觉(一)

文章目录 计算机视觉与图像处理的区别人工神经元感知机 - 分类任务Sigmoid神经元/对数几率回归对数损失/交叉熵损失函数梯度下降法- 极小化对数损失函数线性神经元/线性回归均方差损失函数-线性回归常用损失函数使用梯度下降法训练线性回归模型线性分类器多分类器的决策面 soft…

Hadoop、Hive安装

一、 工具 Linux系统&#xff1a;Centos&#xff0c;版本7.0及以上 JDK&#xff1a;jdk1.8 Hadoop&#xff1a;3.1.3 Hive&#xff1a;3.1.2 虚拟机&#xff1a;VMware mysql&#xff1a;5.7.11 工具下载地址: https://pan.baidu.com/s/1JYtUVf2aYl5–i7xO6LOAQ 提取码: xavd…

项目经验分享|openGauss 陈贤文:受益于开源,回馈于开源

开源之夏 项目经验分享 2023 #08 # 关于 openGauss 社区 openGauss是一款开源关系型数据库管理系统&#xff0c;采用木兰宽松许可证v2发行。openGauss内核深度融合华为在数据库领域多年的经验&#xff0c;结合企业级场景需求&#xff0c;持续构建竞争力特性。同时openGauss也是…

基于FPGA的图像PSNR质量评估计算实现,包含testbench和MATLAB辅助验证程序

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 设置较大的干扰&#xff0c;PSNR15。 设置较小的干扰&#xff0c;PSNR25。 2.算法运行软件版本 matlab2022a vivado2019.2 3.部分核心程序 ti…

如何在Postman中使用静态HTTP

首先&#xff0c;打开 Postman 软件。在 Postman 的菜单栏中&#xff0c;点击 “Preferences”&#xff08;偏好设置&#xff09;。 亲身经验&#xff1a;我自己尝试了这个方法&#xff0c;发现它非常适用于需要使用HTTP的场景。 数据和引证&#xff1a;根据 Postman 官方文档…

皮卡丘RCE靶场通关攻略

皮卡丘RCE靶场通关攻略 文章目录 皮卡丘RCE靶场通关攻略RCE(remote command/code execute)概述远程系统命令执行启动环境漏洞练习第一关exec "ping"第二关 exec "eval" RCE(remote command/code execute)概述 RCE漏洞&#xff0c;可以让攻击者直接向后台服…

Maven第三章:IDEA集成与常见问题

Maven第三章:IDEA集成与常见问题 前言 本章内容重点:了解如何将Maven集成到IDE(如IntelliJ IDEA或Eclipse)中,以及使用过程中遇到的常见的问题、如何解决,如何避免等,可以大大提高开发效率。 IEAD导入Maven项目 File ->Open 选择上一章创建的Maven项目 my-app查看po…

Linux学习第24天:Linux 阻塞和非阻塞 IO 实验(一): 挂起

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 在正式开始今天的笔记之前谈一下工作中遇见的一个问题。 本篇笔记主要学习Linux 阻塞和非阻塞 IO 实验&#xff0c;主要包括阻塞和非阻塞简介、等待队列、轮询、…

威联通NAS进阶玩法之使用Docker搭建个人博客教程

Hello大家好&#xff0c;本篇教程主要教大家在威联通的NAS上搭建属于自己的个人博客网站&#xff0c;首先介绍一下我使用的机器&#xff0c;四盘位威联通TS-464C2&#xff0c;搭载四核四线程的N5095处理器&#xff0c;支持4K60帧的输出以及PCIE3.0,可玩性还是非常高的。废话不多…

24 行为型模式-访问者模式

1 访问者模式介绍 访问者模式在实际开发中使用的非常少,因为它比较难以实现并且应用该模式肯能会导致代码的可读性变差,可维护性变差,在没有特别必要的情况下,不建议使用访问者模式。 2 访问者模式原理 3 访问者模式实现 我们以超市购物为例,假设超市中的三类商品: 水果,糖…

本地websocket服务端暴露至公网访问【内网穿透】

本地websocket服务端暴露至公网访问【cpolar内网穿透】 文章目录 本地websocket服务端暴露至公网访问【cpolar内网穿透】1. Java 服务端demo环境2. 在pom文件引入第三包封装的netty框架maven坐标3. 创建服务端,以接口模式调用,方便外部调用4. 启动服务,出现以下信息表示启动成功…

QGIS008:QGIS拓扑检查、修改及验证

摘要&#xff1a;本文介绍使用QGIS拓扑检查器和几何图形检查器检查图层的拓扑错误&#xff0c;修改拓扑错误&#xff0c;并对修改后的图层进行错误验证。 实验数据&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1Vy2s-KYS-XJevqHNdavv9A?pwdf06o 提取码&#xff1a…

nginx配置反向代理和动静分离应用

一. Nginx配置反向代理和实现动静分离与虚拟主机流程图&#xff1a; 二 .Nginx配置反向代理和实现动静分离与虚拟主机实现详细配置和效果图 2.1 nginx 配置反向代理 #在nginx.conf配置server同级下配置 include tomcat.conf# vim tomcat.conf upstream api.z.mukewang.com{…

线程安全问题

线程安全 简单来说&#xff0c;在多个线程访问某个方法或者对象的时候&#xff0c;不管通过任何的方式调用以及线程如何去交替执行。在程序中不做任何同步干预操作的情况下&#xff0c;这个方法或者对象的执行/修改都能按照预期的结果来反馈&#xff0c;那么这个类就是线程安全…

基于XML的Web服务Java接口(JAX-WS)、Jakarta XML Web Services Eclipse 实现

简介 JAX-WS&#xff08;Java API for XML-Based Web Services&#xff09;&#xff0c;是创建web服务的Java编程接口&#xff0c;特别是SOAP服务。是Java XML编程接口之一&#xff0c;是Java SE 和Java EE 平台的一部分。 JAX-WS 2.0 规范是代替JAX-RPC 1.0的下一代Web服务AP…

前端知识储备

前端知识储备 一. 什么是前端? """ 任何与用户直接打交道的操作界面都可以称之为前端 比如:电脑界面 手机界面 平板界面什么是后端后端类似于幕后操作者(一堆让人头皮发麻的代码)不直接跟用户打交道 """ 二. 为什么学前端? ""&quo…

Vue进阶(幺陆玖)项目部署后IE报 SCRIPT1002:语法错误 解决方案探讨

文章目录 一、前言二、组件懒加载2.1 什么是懒加载2.2 如何实现懒加载 三、延伸阅读 软件程序唤醒3.1 protocolCheck 实现3.2 自定义实现 四、拓展阅读 一、前言 Vue项目改造升级后&#xff0c;原本本地热部署后IE可正常打开的项目出现页面白屏且控制台给出SCRIPT1002:语法错误…

服务器执行命令或脚本的两种方式

目录 1、通过Runtime 2、通过ProcessBuilder 在java开发中&#xff0c;有时候需要与操作系统的命令行交互&#xff0c;执行特定的CMD命令或脚本。 我们有如下两种方式来实现: Java的Runtime类和ProcessBuilder类都允许Java程序启动一个新的进程并执行特定的命令&#xff0…

[数据结构]-二叉搜索树

前言 作者&#xff1a;小蜗牛向前冲 名言&#xff1a;我可以接受失败&#xff0c;但我不能接受放弃 如果觉的博主的文章还不错的话&#xff0c;还请点赞&#xff0c;收藏&#xff0c;关注&#x1f440;支持博主。如果发现有问题的地方欢迎❀大家在评论区指正。 目录 一、二叉搜…

【深蓝学院】手写VIO第8章--相机与IMU时间戳同步--笔记

0. 内容 1. 时间戳同步问题及意义 时间戳同步的原因&#xff1a;如果不同步&#xff0c;由于IMU频率高&#xff0c;可能由于时间戳不同步而导致在两帧camera之间的时间内用多了或者用少了IMU的数据&#xff0c;且时间不同步会导致我们首尾camera和IMU数据时间不同&#xff0c;…