首页 > 解决方案 > 如何将多种不同类型的信息分配给一个名称?

问题描述

抱歉,如果问题被问错了,但我正在 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");

  }

我希望 Hashmap 包含 2 个以上的元素,但它返回了一个错误,将元素限制为 2 个,前 2 个之后的数据类型返回为找不到符号。

标签: javadata-storage

解决方案


你必须做这样的事情

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;
    }
}

使用...

public static HashMap<String, Data> sortPls= new HashMap(); 
public static void setList(){ 
    Data d = new Data("A",32,12L,'u');
    sortPls.put("Jackson",d);
}

推荐阅读