首页 > 其他分享 >Map集合类和Set集合类介绍和题目演练

Map集合类和Set集合类介绍和题目演练

时间:2024-12-19 13:31:05浏览次数:4  
标签:Map Set String 元素 list 集合

Map集合的介绍、定义和特点

Map是一种将键(key)映射到值(value)的对象。在Java中,它是一个接口,有像HashMap、TreeMap等多种实现类。

  • 定义:以键值对(key - value)的形式存储数据。键是唯一的,通过键可以快速查找、获取对应的值。例如,存储学生学号(键)和学生姓名(值)的信息集合。
  • 特点:
    键的唯一性。一个键在Map中只能对应一个值,如果添加相同的键,新值会覆盖旧值。
    无序性(部分实现类无序)。像HashMap就不保证键值对的存储顺序和插入顺序相同,不过TreeMap会根据键的自然顺序或者自定义比较器来排序存储。
    可以存储不同类型的键和值,如键为String类型,值为自定义对象类型。

Map集合定义的主要方法

image

Map集合类题目练习

image

HsMap1.JAVA

点击查看代码
package LX2;
import java.util.Map;
import java.util.HashMap;
import java.util.Set;

public class HsMap1 {
    public static void main(String[] args) {
        String[] provinces ={"黑龙江省","浙江省","江西省","广东省","福建省"};
        String[] cities={"哈尔滨","杭州","南昌","广州","福州"};
        Map<String,String> map = new HashMap<>();
        for (int i =0;i<provinces.length;i++){
            map.put(provinces[i],cities[i]);
        }
        map.remove("黑龙江省");
        Set<Map.Entry<String,String>> set = map.entrySet();
        for (Map.Entry<String,String> x : set) {
            System.out.println(x.getKey()+"="+x.getValue());
        }


    }
}

运行结果

image

Set集合的介绍、定义和特点

Set是一个不包含重复元素的集合。

  • 定义:它是一种用于存储元素的数据结构,主要目的是确保集合中的元素具有唯一性,就像一个数学中的集合概念一样,把具有相同性质的元素放在一起,且每个元素只出现一次。例如,存储班级里所有学生的名字,相同名字只会保存一个。
  • 特点:
    元素唯一性:不允许有重复元素。当尝试添加一个已经存在于Set中的元素时,添加操作通常会被忽略。
    无序性(大部分实现类):像HashSet,元素的存储顺序和添加顺序没有固定关联,内部是通过哈希算法存储元素;不过有个例外是LinkedHashSet,它可以按照元素插入的顺序来遍历集合。

Set集合题目练习

image

HStest3.JAVA

点击查看代码
package Lx3;
import java.util.*;

public class HStest3 {
    public static void main(String[] args) {
        String[] strs = {"12345","67891","12347809933","98765432102","67891","12347809933"};
        List<String> list = new LinkedList<>();
        for (String s: strs){
            list.add(s);
        }
        Iterator iterator = list.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next()+" ");
        }
        Set<String> set = new LinkedHashSet<>(list);
        list.clear();
        list.addAll(set);
        for (String str : list){
            System.out.println(str+" ");
        }

    }
}

运行结果

image

标签:Map,Set,String,元素,list,集合
From: https://www.cnblogs.com/505-jw/p/18617004

相关文章

  • Java如何用HaspMap统计次数并排序详解
    java统计单词频率继上一讲Java用PDFTextStripper来解析pdf文件提取文字-ivanlee717-博客园讲了如何接收和解析pdf之后,我们把pdf文件全部转为了String类型的字符串,那么这一讲聊聊怎么去统计每个词出现的频率。正则过滤首先我们需要把单词弄出来,把其他的文字过滤掉。Pattern......
  • Google Maps 抢先体验:解锁 Solar API 的更多覆盖范围和更深入的见解
    随着全球能源需求的上升,住宅太阳能发电成为可持续发展未来的关键因素。要充分发挥太阳能的潜力,可获得且可扩展的解决方案至关重要。CloudAce作为GoogleCloudPremierPartner将为大家同步谷歌地图最新信息:CloudAce-谷歌云|谷歌云全球战略合作伙伴|云服务器据点最多......
  • 2024实测验证可用的股票数据接口集合.:python、JavaScript 、JAVA等实例代码演示教你如
    实测可用的股票数据接口,可以直接点击在浏览器中验证:沪深两市股票列表API接口链接(可点击验证):https://api.mairui.club/hslt/list/b997d4403688d5e66a【实时数据接口】沪深两市实时交易数据接口API接口链接(可点击验证):https://api.mairui.club/hsrl/ssjy/000001/b997d4403......
  • java集合框架的详细学习
     集合框架和数组的区别为什么引入集合概念使用数组具有局限性:是一种固定大小的数据结构,其元素类型和数量在创建时就已经确定,并且无法更改,不使用就浪费了。为了解决数组的局限性,引入容器类的概念。容器可以根据需要动态地增加或减少元素。此外,集合框架还提供了丰富的操作方......
  • 【Redis篇】Set和Zset 有序集合基本使用
    目录Set基本命令saddSMEMBERSSISMEMBER SCARD返回值:SPOPSMOVESREM集合间操作交集: 并集:差集:​编辑 内部编码使用场景:Zset有序集合Zset基本命令ZADDZCARD ZCOUNT ZRANGEZREVRANGEZRANGEBYSCOREZPOPMAXBZPOPMAX​编辑ZPOPMINZRANKZREVRANK......
  • qiankun 中遇见的问题集合
    本文中的微前端基于qiankun框架多个子应用共存如果需要多个子应用同时共存,在管理就有很多例子:https://qiankun.umijs.org/zh/faq#如何同时激活两个微应用registerMicroApps([//自定义activeRule{name:'reactApp',entry:'//localhost:7100',container,active......
  • 【老白学 Java】集合应用 - 卡拉 OK(一)
    集合应用-卡拉OK(一)文章来源:《HeadFirstJava》修炼感悟。最近老白准备研究一下Java集合和泛型的相关知识。为了增加学习乐趣,老白通过一些小案例来了解集合类的基本用法。本篇文章打算编写一个简单的曲目处理程序,其中使用到了类库中的排序方法。一、显示点唱曲目......
  • Spring Boot教程之三十二:自定义 Jackson ObjectMapper
    SpringBoot–自定义JacksonObjectMapper当使用JSON格式时,SpringBoot将使用ObjectMapper实例来序列化响应并反序列化请求。在本文中,我们将介绍配置序列化和反序列化选项的最常用方法。让我们来看看默认配置。默认情况下,SpringBoot配置如下:禁用MapperFeature.DE......
  • JetBrains PyCharm 低版本无限重置试用--插件:ide-eval-resetter-2.1.6.zip
    ......
  • npm ERR! network 'proxy' config is set properly. See: 'npm help config'
    执行npminstall@gcpaas/data-room-ui命令时报错在package.json这个文件里面添加 overrides这段代码"overrides":{"node-sass":"npm:sass@*","@gcpaas/data-room-ui":{"node-sass":"npm:sass@*"......