java问题,我想在java中存储键值对,以便使用,但是键值对的键和值都有重复元素,使用hashmap会产生覆盖。
比如下列数据:a,1;b,2;c;2;a,4;每组都是所需要的,键和值都有重复,所以键值调换也不行。所以hashmap也许行不通。问下大家有什么解决办法,1,或者hash...
比如下列数据:
a,1;
b,2;
c;2;
a,4;
每组都是所需要的,键和值都有重复,所以键值调换也不行。所以hashmap也许行不通。问下大家有什么解决办法,
1,或者hashmap我有不知道的可以实现的方法,
2,或者数据结构中学过的链表如何实现,请大家指导一下,
3,或者有java中其他方法实现,
感激不尽,会加分的。
谢谢大家。只要能实现get一个key得到一个对应的value就好,我再试试。 展开
a,1;
b,2;
c;2;
a,4;
每组都是所需要的,键和值都有重复,所以键值调换也不行。所以hashmap也许行不通。问下大家有什么解决办法,
1,或者hashmap我有不知道的可以实现的方法,
2,或者数据结构中学过的链表如何实现,请大家指导一下,
3,或者有java中其他方法实现,
感激不尽,会加分的。
谢谢大家。只要能实现get一个key得到一个对应的value就好,我再试试。 展开
5个回答
展开全部
用二维数组是可以的,但是你也知道,数组的量是固定的,所以不怎么方便,所以还是要用一些容器,就像类似与上面的所说先建立一个专门存放数据的类,
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);...........
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);...........
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
只是简单的存的话 定义一个类型
class KV {
Object key;
Object value;
}
然后你想用啥数据结构就用吧 比如ArrayList<KV>- -
楼主 如果你想get一个key对应一个value 但你的key本身就不惟一 你如何只get一个key就拿到一个惟一对应的value?
class KV {
Object key;
Object value;
}
然后你想用啥数据结构就用吧 比如ArrayList<KV>- -
楼主 如果你想get一个key对应一个value 但你的key本身就不惟一 你如何只get一个key就拿到一个惟一对应的value?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是的,可以考虑用二维数组。
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";
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";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用个二维数组。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询