map常用·方法

该博客介绍了如何使用TreeMap集合根据自定义的比较器对学生对象进行排序。示例中,学生对象包含姓名和年龄属性,并实现了Comparable接口,按照年龄和姓名进行排序。在Demo1中创建了一个TreeMap,存储了学生对象及其对应的活动,最后输出排序后的Map展示了排序效果。

Map集合 键值对存在

Map在通过键取值时,取键,用set集合(无序的,不可重复的)

取值,用collection集合

  1. map通过键来取值

 

  1. treemap集合:

Student:

public class student implements Comparable<student>{

private String name;

private int age;

public student() {

}

public student(String name, int age) {

this.name = name;

this.age = age;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

@Override

public String toString() {

return "student [name=" + name + ", age=" + age + "]";

}

@Override

public int compareTo(student o) {

// TODO Auto-generated method stub

int a=this.age-o.age;

//姓名如果相等 ,重新调用这个方法,来比较名字

int a1=this.name.compareTo(name);

return a==0? a1:a;

}

}

Demo1:

public class Demo1 {

public static void main(String[] args) {

//对name age 的对象进行夫赋值

student stu1=new student("张三",11);

student stu2=new student("李四",50);

student stu3=new student("赵五",34);

student stu4=new student("王六",23);

TreeMap<student, String> map = new TreeMap<student, String>();

map.put(stu1, "唱歌");

map.put(stu2, "跳舞");

map.put(stu3, "绘画");

map.put(stu4, "跳高");

System.out.println(map);//注意,会报错

//对象需要重写compareoTo方法

//{student [name=张三, age=11]=唱歌,

// student [name=王六, age=23]=跳高,

// student [name=赵五, age=34]=绘画,

// student [name=李四, age=50]=跳舞}

}

}

Java 集合框架中的 `Map` 是一种常用的数据结构,可将 `key` 和 `value` 进行映射,并提供了丰富的操作方法。以下是一些 `Map` 的常用方法: ### `put(K key, V value)` 用于将指定的键值对插入到 `Map` 中。如果 `Map` 中已经存在该键,则会更新该键对应的值。示例代码如下: ```java import java.util.HashMap; import java.util.Map; public class MapExample { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("apple", 1); map.put("banana", 2); System.out.println(map); } } ``` ### `get(Object key)` 根据指定的键获取其对应的值。如果 `Map` 中不存在该键,则返回 `null`。示例代码如下: ```java import java.util.HashMap; import java.util.Map; public class GetExample { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("apple", 1); Integer value = map.get("apple"); System.out.println(value); } } ``` ### `remove(Object key)` 根据指定的键从 `Map` 中移除对应的键值对。示例代码如下: ```java import java.util.HashMap; import java.util.Map; public class RemoveExample { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("apple", 1); map.remove("apple"); System.out.println(map); } } ``` ### `containsKey(Object key)` 判断 `Map` 中是否包含指定的键。示例代码如下: ```java import java.util.HashMap; import java.util.Map; public class ContainsKeyExample { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("apple", 1); boolean contains = map.containsKey("apple"); System.out.println(contains); } } ``` ### `containsValue(Object value)` 判断 `Map` 中是否包含指定的值。示例代码如下: ```java import java.util.HashMap; import java.util.Map; public class ContainsValueExample { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("apple", 1); boolean contains = map.containsValue(1); System.out.println(contains); } } ``` ### `size()` 返回 `Map` 中键值对的数量。示例代码如下: ```java import java.util.HashMap; import java.util.Map; public class SizeExample { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("apple", 1); map.put("banana", 2); int size = map.size(); System.out.println(size); } } ``` ### `entrySet()` 将 `Map` 集合中的键和值映射关系打包为 `Map.Entry` 对象,并将这些对象存入 `Set` 集合中。示例代码如下: ```java import java.util.HashMap; import java.util.Map; import java.util.Set; public class EntrySetExample { public static void main(String[] args) { Map<Integer, String> map = new HashMap<>(); map.put(1, "aaaa"); map.put(2, "bbbb"); map.put(3, "cccc"); Set<Map.Entry<Integer, String>> es = map.entrySet(); for (Map.Entry<Integer, String> entry : es) { Integer key = entry.getKey(); String value = entry.getValue(); System.out.println("key=" + key + " value=" + value); } } } ``` ### `keySet()` 返回 `Map` 集合中所有键组成的 `Set` 集合。示例代码如下: ```java import java.util.HashMap; import java.util.Map; import java.util.Set; public class KeySetExample { public static void main(String[] args) { HashMap<String, Integer> map = new HashMap<>(); map.put("徐冰", 100); map.put("萤火", 99); Set<String> set = map.keySet(); for (String key : set) { System.out.println(key + ":" + map.get(key)); } } } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值