当前位置: 首页 > 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.lryc.cn/news/591413.html

相关文章:

  • 【unitrix】 6.5 基础整数类型特征(base_int.rs)
  • 对比分析:给数据找个 “参照物”,让孤立数字变 “决策依据”
  • 数据呈现进阶:漏斗图与雷达图的实战指南
  • SQLite的可视化界面软件的安装
  • H3CNE 综合实验二解析与实施指南
  • 医院各类不良事件上报,PHP+vscode+vue2+element+laravel8+mysql5.7不良事件管理系统源代码,成品源码,不良事件管理系统
  • ASP .NET Core 8实现实时Web功能
  • linux-SSH
  • Django由于数据库版本原因导致数据库迁移失败解决办法
  • 从C#6天学会Python:速通基础语法(第一天)
  • C#监听txt文档获取新数据
  • [IRF/Stack]华为/新华三交换机堆叠配置
  • 虚拟化测试工具Parasoft Virtualize如何为汽车企业提供仿真测试?
  • C语言模拟面向对象三大特性与C++实现对比
  • Python 网络爬虫 —— 提交信息到网页
  • Hyperledger Fabric:构建企业区块链网络的实践指南
  • AI赋能农业:基于YOLO11的苹果瑕疵检测系统实战分享
  • 寻找数组中的多数元素:HashMap方法解析
  • 深入了解linux系统—— 信号的捕捉
  • 防止电脑息屏 html
  • 人类社会发展过程中的熵增定律
  • 共指消解技术全解析:从语言学规则到深度学习(附论文精读)
  • 01-提问的艺术:如何让AI听懂“人话”
  • Day23| 39. 组合总和、40.组合总和II、131.分割回文串
  • 【47】MFC入门到精通——MFC编辑框 按回车键 程序闪退问题 ,关闭 ESC程序退出 问题
  • 泛型与类型安全深度解析及响应式API实战
  • python网络爬虫(第二步:安装浏览器驱动,驱动浏览器加载网页、批量下载资源)
  • 板凳-------Mysql cookbook学习 (十一--------12)
  • 20250717在荣品的PRO-RK3566开发板的Android13系统下解决点屏出现问题unsupport command data type: 217
  • x3CTF-2025-web-复现