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

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

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

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

Map集合定义的主要方法

Map集合类题目练习

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


    }
}

运行结果

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

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

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

Set集合题目练习

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

    }
}

运行结果

来源链接:https://www.cnblogs.com/505-jw/p/18617004

© 版权声明
THE END
支持一下吧
点赞6 分享
评论 抢沙发
头像
请文明发言!
提交
头像

昵称

取消
昵称表情代码

    暂无评论内容