我想知道适用于以下senario的java中使用的最佳数据结构。
感谢。
答案 0 :(得分:7)
HashMap应该满足您的需求。
HashMap允许您将键值对存储为集合。 HashMap不允许重复键。您可以使用不同的集合作为值存储在HashMap中。例如,要创建一个键,其中键为String,值为列表,请按以下方式定义:
Map<String, List<String>> = new HashMap<String, List<String>>();
此类集合的实现也称为MultiMap,即映射,其中键与值集合相关联。 MultiMap的两个流行实现是:
答案 1 :(得分:2)
一种map。除了“我需要一个关键价值的东西”之外,你并没有多说什么。如果需要按插入顺序迭代地图,则会有LinkedHashMap。如果您需要通过升序或降序键值来迭代地图,则会sorted maps。如果地图将由多个线程共享,则concurrent map将非常有用。如果列表中有数十亿个项目并且您不介意对数据进行处理(比如这是一种缓存算法),那么WeakHashMap就适合您。
如果“密钥没有重复”,则表示如果密钥已经存在,则插入密钥是违规的,您有几个选项。