2013-10-21 82 views
-3

是否可以使用兩個元素在Java中創建一個雙鏈表。一個元素必須是String,而另一個元素必須是Int。雙鏈表 - Java

這是可能的,如果是的話如何?在Java中

感謝

+1

是的。對的,這是可能的。你需要每個元素包含一個字符串和整數,或者它是一個混合類型列表(一個元素是字符串,另一個元素是對象)? – Makoto

+0

每個元素都應該包含一個String,並且該String應該被賦予一個Integer值。 – user2221029

+0

所以它不是一個真正的String和Integer對象;它是一個帶有值的字符串,可以被解釋爲一個整數,對吧? – Makoto

回答

6
LinkedList<Object> list = new LinkedList<Object>(); 
list.add(new String("Hello")); 
list.add(new Integer(42)); 

編輯:根據OP的評論更新時間:

首先創建一個類,它將保留Stringint

public class ListNode { 

    public String stringValue; 

    public int integerValue; 

    public ListNode(String s, int i) { 
     this.stringValue = s; 
     this.integerValue = i; 
    } 
} 

然後將它們添加到LinkedList

LinkedList<Object> list = new LinkedList<Object>(); 
list.add(new ListNode("Hello", 42)); 
list.add(new ListNode("Testing", 5)); 

或者:

您可以使用Map接口的實現更簡單的方法做到這一點(例如HashMap)並將字符串與像這樣的整數相關聯:

Map<String, Integer> myMap = new HashMap<String, Integer>(); 
myMap.put("Hello", 42); 
myMap.put("Testing", 5); 
System.out.println(myMap.get("Hello")); // will print 42 
System.out.println(myMap.get("Hello") + myMap.get("Testing")); // will print 47 
+0

我的意思是例如將42分配給「Hello」元素? – user2221029

+0

你的意思是將''Hello「'元素另一個'String'賦值爲'」42「'嗎? – Piovezan

+0

如果我從列表中調用「Hello」,它應該得出值42.如果有不同的字符串,如「測試」,將被分配一個不同的值,例如5. – user2221029

3

LinkedList是雙向鏈表的實現,你可以把它的任何對象類型包裝一下你所需要的字段