我的問題是無法從我的Treemap中獲取對象「Item」(value)。我需要將這些信息發送到我的GUI類,並將其顯示在JList中以獲得選擇列表,因此可以輕鬆地選擇歌曲並將其添加到播放列表中,但只有我輸出的內容是「01,02,03,04,05」 (鍵)。請幫忙,因爲我是初學者,不知道該怎麼做。如何從Java中的TreeMap獲取值?
public class LibraryData {
private static class Item {
Item(String n, String a, int r) {
name = n;
artist = a;
rating = r;
}
// instance variables
private String name;
private String artist;
private int rating;
private int playCount;
public String toString() {
return name + " - " + artist;
}
}
private static Map<String, Item> library = new TreeMap<String, Item>();
static {
library.put("01", new Item("How much is that doggy in the window", "Zee-J", 3));
library.put("02", new Item("Exotic", "Maradonna", 5));
library.put("03", new Item("I'm dreaming of a white Christmas", "Ludwig van Beethoven", 2));
library.put("04", new Item("Pastoral Symphony", "Cayley Minnow", 1));
library.put("05", new Item("Anarchy in the UK", "The Kings Singers", 0));
}
public static String[] getLibrary() {
String [] tempa = (String[]) library.keySet().toArray(new String[library.size()]);
return tempa;
}
SOLUTION:
,因爲我的價值觀傳遞給另一個類:
JList tracks = new JList(LibraryData.getLibrary());
我做類似的東西,它的工作原理
public static Object[] getLibrary() {
Collection c = library.values();
return c.toArray(new Item[0]);
謝謝你們,10個小時後我終於做到了! }
這裏有一個答案。 http://stackoverflow.com/questions/16246821/how-to-get-values-keys-from-hashmap –
請發佈代碼,你正試圖獲得'項目'。 – Christian
'library.get(「01」);'不工作? –