java的map集合,只改变其key,不变其value,应该怎么写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java的map集合,只改变其key,不变其value,应该怎么写相关的知识,希望对你有一定的参考价值。

key是int类型,value是string类型
能不删除吗?就是想做一个动态删除map集合,然后再让里边的元素从1开始列出来

import java.util.HashMap;
import java.util.Map;

public class $ 

    public static void main(String[] args) 

        Map<Integer, String> data = new HashMap<Integer, String>();

        data.put(1, "a");

        System.out.println(data);

        data.put(2, "a");
        data.remove(1);
        System.out.println(data);
    

参考技术A 这个不是很难,只要有相关技能,多读书就能够解答。

Java中Map接口和其常用子类

  一、Map接口常用方法

  • public V put(K key,V value):向集合中保存数据;
  • public V get(Object key):根据key查找对应的value数据;
  • public Set<K> keySet():取出全部的key,返回一个set集合;
  • public Set<Map.Entry<K,V>> entrySet():将Map集合转化为set集合;

  二、常用子类

    1、public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable

      是JDK1.2时推出的,基于哈希表实现的映射接口。此实现提供所有可选映射操作,并允许空值和空键。采用异步处理,非线程安全。该类不保证映射的顺序;特别是,它不能保证顺序会随着时间保持不变。

    2、public class Hashtable<K,V> extends Dictionary<K,V> implements Map<K,V>, Cloneable, Serializable

      是JDK1.0时推出的,这个类实现了一个哈希表,它将键映射到值。任何非空对象都可以用作键或值(不允许空值和空键)。采用同步处理,线程安全。

    3、public class LinkedHashMap<K,V> extends HashMap<K,V> implements Map<K,V>

      哈希表和链表实现了Map接口,具有可预测的迭代顺序。这个实现与HashMap的不同之处在于,它维护一个运行于所有条目中的双链表。这个链表定义了迭代顺序,这通常是键插入到映射中的顺序(插入顺序)。注意,如果一个键被重新插入到映射中,插入顺序不会受到影响。

    4、public class TreeMap<K,V> extends AbstractMap<K,V> implements NavigableMap<K,V>, Cloneable, Serializable

      一个基于红黑树的NavigableMap实现。映射是根据其键的自然顺序排序的,或者由在创建映射时提供的比较器进行排序,这取决于使用的是哪个构造函数。

  三、使用情况

    当要实现插入、删除、查询时,使用HashMap;当要实现按(自然、自定义)顺序遍历时,使用TreeMap;当要实现按输入输出顺序遍历时,使用LinkedHashMap。

 

以上是关于java的map集合,只改变其key,不变其value,应该怎么写的主要内容,如果未能解决你的问题,请参考以下文章

Java中Map接口和其常用子类

java中Map有哪些实现类和使用场景

如何通过获取map中的key来获得与key对应的value值,进行运算

Java中List Set Map 是否有序等总结

Java中List Set Map 是否有序等总结

java 集合框架 Map-AbstractMap