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