我需要获得用户输入,以便为订购或密钥保存创建列表,元组,哈希表等。例如在python中,完成时看起来像这样:
all = {'main1':{'name':'Hannag', 'birth':'date1', 'gender':'female'}, 'main2':{'name':'Kate', 'birth':'date2', 'gender':'female'}, 'main3':{'name':'Ben', 'birth':'date3', 'gender':'male'}}
在java中,我还没想出如何创建一个包含更多字符串键的字符串键。 main1':{'name':'Hannag', 'birth':'date1', 'gender':'female'}
我尝试过使用元组,但是你只能用我使用tuple3尝试过的一组数字。
Map<String, Tuple3<String, String, String>> dos = new HashMap<String, Tuple3<String, String, String>>();
while(adds.contains(contin))
{
String li = input.nextLine();
String fName = input.nextLine();
String fDir = input.nextLine();
do.Add(fName, new Tuple3((String) li, (String) fName, (String) fDir));
我也尝试在哈希表中使用哈希表,但哈希表标题不能成为字符串。我需要哈希表或列表等的名称作为字符串。有什么方法可以解决这个问题吗?
答案 0 :(得分:2)
不要乱搞元组和地图,而是创建一个类:
class Person {
final String name;
final String birth; // maybe make this a Date?
final String gender; // if you subscribe to the gender binary, maybe make this an enum?
Person(String name, String birth, String gender) { // constructor
this.name = name;
this.birth = birth;
this.gender = gender;
}
}
然后有一个
Map<String, Person> map = new HashMap<>();
map.put("main1", new Person("Hannag", "date1", "female"));
...