java问题,我想在java中存储键值对,以便使用,但是键值对的键和值都有重复元素,使用hashmap会产生覆盖。
发布网友
发布时间:2022-05-12 08:29
我来回答
共5个回答
热心网友
时间:2024-02-20 11:54
你这个是n vs n的情况,都不算算是键值对应关系了。所以不用考虑map了
链表和这个也没有太大关系,主要有多对多的情况
不知道你那个
b 2
c 2是不是有序的,如果有序的话,用数组可以简单实现
热心网友
时间:2024-02-20 11:54
用二维数组是可以的,但是你也知道,数组的量是固定的,所以不怎么方便,所以还是要用一些容器,就像类似与上面的所说先建立一个专门存放数据的类,
class map2<K,V>//泛型,填写你想要的数据类型
{
private K key;
private V value;
public map2(K k2,V v2){key=k2;value=v2;} //初始化key和value
public K getKey(){return key;}
public V getValue(){return value;}
public void setKey(K key2){this.key=key2;}
public void setValue(V value2){this.value=value2;}
}
然后就可以用ArrayList arr=new ArrayList()来添加任意的键值对应的数据了,
当然每次添加都要先map2<object,object> bb=new map2<object,object>();object根据你的实际需要填写不同的数据类型,实在不爽就直接填object吧,arr.add(bb);...........
热心网友
时间:2024-02-20 11:55
只是简单的存的话 定义一个类型
class KV {
Object key;
Object value;
}
然后你想用啥数据结构就用吧 比如ArrayList<KV>- -
楼主 如果你想get一个key对应一个value 但你的key本身就不惟一 你如何只get一个key就拿到一个惟一对应的value?
热心网友
时间:2024-02-20 11:56
是的,可以考虑用二维数组。
String[][] array2 = new String[10][10];
array2 [0][0] = "a"; array2 [0][1] = "1";
array2 [1][0] = "b"; array2 [1][1] = "2";
array2 [2][0] = "c"; array2 [2][1] = "2";
array2 [3][0] = "a"; array2 [3][1] = "4";
热心网友
时间:2024-02-20 11:56
用个二维数组。