请教一个从Collection到Map保持排序顺序不变的问题
一个简单的类
public class Foo {
String valueA;
String valueB;
}
有3个这样的对象按照以下的顺序存在一个Collection c里:
foo1: valueA = "kick"; valueB = "me";
foo2: valueA = "kiss"; valueB = "you";
foo3: valueA = "kill"; valueB = "he";
然后想生成一个Map m,m的key为foon的valueA,对应的value为foon的valueB
做法如下:
Map m = new HashMap();
Iterator i = collection.iterator();
while(i.hasNext()){
Foo element = (Foo)i.next();
m.put(element.valueA,element.valueB);
}
当用Map的keySet方法遍历所有的元素时候,出来的顺序已经和原来的Collection不一样了,如果额外多加一个List来记录key,是可以解决,但是总觉得Java的架构里应该有更简单的方法可以实现这样的效果.
请大家帮忙,谢谢了!