当前位置: 首页 > news >正文

7.17 Java基础 | 集合框架(下)

接上文: 7.16 Java基础 | 集合框架(上)-CSDN博客

【1】Map集合


Map 集合是一种能存储键值对的数据结构。它的主要功能是依据键(Key)来快速查找对应的值(Value)

1、声明

                Map<Integer,Integer>map=new HashMap<>();     

2、常用方法

        put(key , value);

        get();

        size();

        entrySet() ;将Map集合的每个key-value转换成一个Entry对象,并返回由所有的Entry对象组成的set集合

       getOrdefault(key ,默认值); 获取key对应的value,如果找不到key,则返回设置的默认值

 代码示例:

import java.util.*;
import java.util.Map.Entry;
public class Map集合 {public static void main(String[] args) {Map<Integer,Integer>map=new HashMap<>();//putmap.put(2,5);map.put(1,2);//getint a=map.get(2);int b=map.get(1);System.out.println(a+","+b);System.out.println(map.get(11));System.out.println(map);//sizeSystem.out.println(map.size());//遍历for(Entry<Integer,Integer>entry:map.entrySet()) {System.out.println(entry.getKey()+" "+entry.getValue());}int c=map.getOrDefault(15,12);System.out.println(c);}
}

3、综合应用


import java.util.*;
import java.util.Map.Entry;public class test1 {public static void main(String[] args) {Scanner sc=new Scanner(System.in);int n=sc.nextInt();Map<Integer,Integer>map=new HashMap<>();for(int i=0;i<n;i++) {int a=sc.nextInt();map.put(a,map.getOrDefault(a,0)+1);}int max=0;for(Entry<Integer,Integer>entry:map.entrySet()) {max=Math.max(max, entry.getValue());}List<Integer>list=new ArrayList<>();//列表存储出现次数为max的所有值for(Entry<Integer,Integer>entry:map.entrySet()) {if(entry.getValue()==max) {list.add(entry.getKey());}}Collections.sort(list);for(int x:list) {System.out.print(x+" ");}}
}

【2】Stack栈

先进后出

1、声明

    Stack<Integer>stack=new Stack<>();                  

2、方法

push()入栈

pop()   岀栈     

peek()  查看栈顶元素     

isEmpty()判空

3 、代码示例

import java.util.*;
public class 栈 {public static void main(String[] args) {Stack<Integer>stack=new Stack<>();//pushstack.push(3);stack.push(4);stack.push(5);//popint a=stack.pop();int b=stack.pop();System.out.println(a+" "+b);//peek:查看栈顶元素System.out.println(stack.peek());//isEmptyboolean c=stack.isEmpty();System.out.println(c);}
}

【3】Queue队列

 1、声明

    Queue<Integer>q=new LinkedList<>();

2、方法

add()入队

poll()出队

peek()查看队头

isEmpty()判空

3、代码示例

import java.util.*;public class 队列 {public static void main(String[] args) {Queue<Integer>q=new LinkedList<>();//addboolean a=q.add(2);System.out.println(a);q.add(3);q.add(4);System.out.println(q);//poll 先进先出System.out.println(q.poll());//peek()System.out.println(q.peek());//isEmptySystem.out.println(q.isEmpty());}
}

http://www.dtcms.com/a/284127.html

相关文章:

  • 数据结构 栈(2)--栈的实现
  • NO.7数据结构树|线索二叉树|树森林二叉树转化|树森林遍历|并查集|二叉排序树|平衡二叉树|哈夫曼树|哈夫曼编码
  • 突破AI模型访问的“光标牢笼”:长上下文处理与智能环境隔离实战
  • 网络基础11 上公网--Internet接入技术
  • 扣子工作流的常见节点
  • AutoGen-AgentChat-13-多智能体相互辩论
  • 船舶机械零件的深孔工艺及检测方法 —— 激光频率梳 3D 轮廓检测
  • istio如何自定义重试状态码
  • JAVA面试宝典 -《缓存架构:穿透 / 雪崩 / 击穿解决方案》
  • JVM 内存分配与垃圾回收策略
  • Java学习--JVM(2)
  • Java面试(基础篇) - 第二篇!
  • 如何用 Python + LLM 构建一个智能栗子表格提取工具?
  • Spring,Spring Boot 和 Spring MVC 的关系以及区别
  • 深入解析Hadoop:机架感知算法与数据放置策略
  • #Linux内存管理# vm_normal_page()函数返回的什么样页面的struct page数据结构?为什么内存管理代码中需要这个函数?
  • 【机器学习】第三章 分类算法
  • 如何判断你的EDA工具安装是否真的成功?
  • 数据呈现:让图表说话,从数字到洞察的可视化艺术
  • “显著性”(Saliency)是计算机视觉中的一个重要概念,主要指的是图像或视频中最吸引人注意力的区域或对象
  • Python进阶操作——创建容器
  • Ubuntu开启root用户登陆
  • MyBatis延迟加载(Lazy Loading)之“关联查询”深度解析与实践
  • ros0基础-day13
  • java之json转excel生成
  • Oracle11.2.0.4 RAC迁移升级Oracle19.3 RAC
  • R语言基础| 基本图形绘制(条形图、堆积图、分组图、填充条形图、均值条形图)
  • 规则引擎rule-engine(三)可视化api设计和实现解释
  • 解读一个大学专业——信号与图像处理
  • 2025年Java后端秋招面试的高频八股文+场景题