Map接口的使用

本文深入探讨了Map接口的概念,包括其定义、特点、继承关系及常用方法,如put、get和remove。同时,文章提供了Map遍历的示例代码,并介绍了集合操作工具如Collections.shuffle和binarySearch的使用。

Map接口的使用

1.Map定义:

  Collection是孤立存在的,向集合中存储元素是一个一个放,Map中的集合 存储是成对,通过键找到值,键和值是映射关系。

2.注意:

  Map集合中不能包含重复的键,但是可以包含重复的值。

3.继承关系:

  Map接口不能实例化,HashMap,LinkedHashMap是Map接口的一个实现类,两个方法使用类似。

4.Map相关的方法:

  添加:put  得到:get  移除:remove

代码:

  

复制代码
public class MapDemo {
    public static void main(String[] args) { Map<Integer, String> map = new HashMap<Integer, String>(); map.put(1, "张三"); map.put(2, "李四"); map.put(3, "王五"); map.put(4, "赵六"); //键值不允许重复 如果重复 覆盖之前的值 map.put(4, "小明"); map.put(10000, "小红"); // System.out.println(map); // String s = map.remove(1); // System.out.println(s); // System.out.println(map); String s = map.get(4); System.out.println(s); } }
复制代码

5.集合遍历的方式:

  调用集合的方法keySet,用Set集合存储Map的键

复制代码
public class MapDemo1 {
   public static void main(String[] args) { //1 调用集合的方法 keySet 将所有的键 存储到Set集合中 //2 遍历Set集合 获取所有的键 //3 调用map集合中get() 获取值 Map<String, String> m = new HashMap<String, String>(); m.put("大哥", "猪大宝"); m.put("二哥", "猪二宝"); m.put("三个", "猪三宝"); Set<String> s = m.keySet(); Iterator<String> it = s.iterator(); while(it.hasNext()){ String key = it.next(); //通过键 key 获得值 String value = m.get(key); System.out.println(key+": "+value); } System.out.println("================================"); for(String didi:m.keySet()){ String value = m.get(didi); System.out.println(didi+": "+value); } } }
复制代码

6.集合的操作工具:

  Collections.shuffle对集合进行随机排序

复制代码
public static void fun1(){
        List<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(12); list.add(123); list.add(1234); list.add(12345); list.add(123456); System.out.println(list); //调用 工具类方法shuffle 对集合进行随机排列  Collections.shuffle(list); System.out.println(list); }
复制代码

  Collections.binarySearch搜索变量

复制代码
// Collections.binarySearch   静态方法
    //传递集合   和要搜寻的变量  如果存在返回 下标  不存在返回负数
    public static void fun(){ List<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(2); list.add(3); list.add(4); int aa = Collections.binarySearch(list, 2); System.out.println(aa); }
复制代码

转载于:https://www.cnblogs.com/cuichaobo/p/10681293.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值