对不起,如果这个问题被问错了,但是我正在CSP中做一个最终项目,我想在Java 1.8中创建一个排序系统。
我过去曾使用Hashmaps存储元素,但显然,它们最多只能存储2个元素, 我想做一些事情:
<String,Double,Int,Int,String>
sortPls.put("Jackson",8.2,12,6000,"A");
我该怎么做?有没有更简单的方法?
我正在使用名为Repl.it的网站,这是我第一年编码。
public static HashMap<String,Double,Int,Int,String> sortPls= new HashMap<String,Double,Int,Int,String>();
public static void setList(){
sortPls.put("Jackson",8.2,12,6000,"A");
}
我希望Hashmaps可以容纳2个以上的元素,但是它返回了一个错误,该错误将元素限制为2个,返回前2个后的数据类型为找不到符号。
答案 0 :(得分:1)
您必须执行类似的操作
LogClass myLog = new LogClass("this is initial string", logOutputBox);
使用...
public class Data {
private String name;
private int val1;
private long val2;
private char val3;
public Data (String name, int val1, long val2, char val3) {
this.name = name;
this.val1 = val1;
this.val2 = val2;
this.val3 = val3;
}
public String getName() {
return name;
}
public int getVal1() {
return val1;
}
public long getVal2() {
return val2;
}
public char getVal3() {
return val3;
}
}
答案 1 :(得分:-2)
您仍然可以使用HashMap
,只需要制作存储您的值的值列表即可。请注意,我定义了列表来保存Object
数据类型,以便它具有最大的包容性,但是您可以更改此列表以保存任何数据类型。
Map<String, List<Object>> data = new java.util.HashMap<>();
data.put("Jackson", new ArrayList<>(Arrays.asList(8.2,12,6000,"A")));
for (Map.Entry<String, java.util.List<Object>> entry : data.entrySet()) {
System.out.printf("Entry %s contains:%n", entry.getKey());
for (List<Object> value : data.values()) {
System.out.println(value.toString());
}
}