請教一個從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的架構裡應該有更簡單的方法可以實現這樣的效果.
請大家幫忙,謝謝了!
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的架構裡應該有更簡單的方法可以實現這樣的效果.
請大家幫忙,謝謝了!
相關文章
- 請教一個cookies的問題Cookie
- 請教一個executeBatch()的問題BAT
- 請教一個JVM問題JVM
- 請教高手一個問題!
- 請教一個struct tag的問題Struct
- 請教一個ADAPTER的問題APT
- 請教大家一個JAVA的問題Java
- 請教一個WEB START的問題!Web
- 請教各位高手一個問題
- 請教一個go切片引用的問題Go
- 請教一個物件設計的問題物件
- python-進階教程-從序列中移除重複項並保持元素順序不變Python
- 請教一個演算法問題演算法
- 請教一個observer設計問題。Server
- 請教一個多執行緒的問題執行緒
- 請教Banq一個Ruby架構的問題架構
- 請教各位大俠一個JavaBean的問題JavaBean
- 請教一個DAO設計模式的問題設計模式
- 請教一個檔案上傳的問題
- 請教一個timeout的實現問題
- 簽名生成 引數列表(Map、List)ASCII碼從小到大排序(字典順序)ASCII排序
- 請教一個切片遞迴賦值的問題遞迴賦值
- 請教一個 python 包安裝的問題Python
- 請教banq老師一個repository的問題
- 請教一個關於執行緒的問題執行緒
- 初學,一個關於RMI的問題請教!!!
- 請教一個資料表關係的問題
- 【求助】請教一個初學java的小問題Java
- 請教高手一個系統設計的問題
- 請教一個jbuilder7中的中文問題UI
- 請教一個關於工廠模式的問題模式
- 請教大家一個財務軟體的問題
- 請教個問題執行 httprunner 遇到的問題HTTP
- 請教個mysql叢集的問題MySql
- 請教個jf和webwork的問題Web
- Python實用技法第9篇:從序列中移除重複項且保持元素間順序不變Python
- 請教一個有關bibernate的session的問題Session
- Qt中連線到同一signal的多個slots的執行順序問題QT