Map接口的使用

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