0

如何创建一个字符串列表,其中每个字符串都指向一个元组列表;换句话说,每个字符串都是元组列表的键(作为值)?

每个元组应采用以下形式:

List<String> pref, where each element of the list pref (say pref_i):
pref1 --> {(T1:10),(T2:13), T3:3),...}
pref2 --> {(T1:7), (T4:3), (T5:1),...}
pref3 --> ...
4

4 回答 4

3

在我看来你想要一个Map,这取决于你的元组的类型(假设这里是一个字符串):

Map<String, List<String>> prefs = new HashMap<String, List<String>>;

你可以让你的元组是任何类型的,为了方便起见,我使用了一个字符串。

如果您的元组通过 aSet或更好地表示Map,请相应地更改它。

于 2013-04-23T12:12:04.470 回答
1

多地图救援!

java中没有touples之类的东西,除非你模拟它们。多重映射就像拥有一个映射,其中键是字符串,值是元素数组

多重地图

于 2013-04-23T12:11:56.703 回答
0

也许你可以使用 HashMap 的 HashMap ?第一个 HashMap 使用您的字符串键,第二个使用您的元组。

HashMap<String, HashMap<String, String>> myHashMap = new HashMap<String, HashMap<String, String>>();

希望这可以帮助 !再见 !

于 2013-04-23T12:14:19.150 回答
0

您还可以使用列表。

import java.util.ArrayList;
    import java.util.List;
    public class TestArrayList {
        public static void main(String[] args) {

            List<String> tempList=new ArrayList<String>();
            List<String> temp1=new ArrayList<String>();
            temp1.add(0, "a");
            temp1.add(1, "b");
            List<String> temp2=new ArrayList<String>();
            temp2.add(0, "c");
            temp2.add(1, "d");
            List<String> temp3=new ArrayList<String>();
            temp3.add(0, "e");
            temp3.add(1, "f");
            tempList.addAll(0, temp1);
            tempList.addAll(1, temp2);
            tempList.addAll(1, temp3);

            for(int i=0;i<tempList.size();i++){
                System.out.println(">>"+tempList.get(i));
            }
        }
    }
于 2013-04-23T12:20:56.790 回答