【问题标题】:Java: Creating a 2D ArrayList to store an integer and string?Java:创建一个 2D ArrayList 来存储整数和字符串?
【发布时间】:2023-04-03 02:50:01
【问题描述】:

我需要存储 2 个相互连接的值数组。数组由一组字符串和一组整数/双精度值组成。数据的大小不是固定的。

一个例子:

Data 1: AA, 13    
Data 2: BB, 6    
Data 3: GG, 2

我正在尝试查看二维数组。有没有更好的方法来存储值?我可能还需要多维数组来存储值。谁能指出我正确的方向或向我展示创建二维数组以及如何添加/检索元素的方法?

【问题讨论】:

  • 你需要区分整数和双精度数吗?或者它可以是所有对 String,Double 吗?
  • 它是字符串双精度或字符串整数对。很抱歉造成混乱。

标签: java arraylist multidimensional-array


【解决方案1】:

如果你只想要 ArrayList 作为数据结构,你也可以像这样使用有两种方法 创建一个这样的类:

    public Class Data{
    private String myString;
    private Integer myInteger;
    public String getMyString() {
        return myString;
    }

    public void setMyString(String myString) {
        this.myString = myString;
    }

    public Integer getMyInteger() {
        return myInteger;
    }

    public void setMyInteger(Integer myInteger) {
        this.myInteger = myInteger;
    }
}
List<Data> list = new ArrayList<Data>();

or else you can use like this

List<Object[]> list = new ArrayList<Object[]>();

【讨论】:

    【解决方案2】:

    最好使用Map。 Map 具有键值对,因此您可以自然地以这种方式存储字符串和整数。

    Map<String, Integer> myMap = new HashMap<String, Integer>();
    

    【讨论】:

    • Map有两个类型参数,set只有一个。
    • 啊,没错。我一定是在做其他事情太久了。
    • 您好 Makoto,是否可以使用 Map 存储一组 3 个值,例如 String-integer-integer (AA, 3, 6) 或 String-integer-double(KK, 6, 2.5) ?
    • 是的 - 您将存储一个 List&lt;Integer&gt;,而不是存储单个 Integer 对象。
    • 不幸的是 Makoto,Map 只允许唯一键,我担心我的数据可能包含相同的值。不过,这是一次很棒的学习经历。
    猜你喜欢
    • 1970-01-01
    • 2017-04-11
    • 1970-01-01
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 2017-05-25
    • 1970-01-01
    • 2013-06-02
    相关资源
    最近更新 更多