繁体   English   中英

使用Java中的最终值将ArrayList项目添加到用户定义的类中

[英]Adding ArrayList items to a user-defined class with final values in Java

我有一个包含数千行数据的文本文件,如下所示:

38.48,88.25
48.20,98.11
100.24,181.39
83.01,97.33

我可以很好地分隔每个“双精度”值,但是在将每一行添加到用户定义的类时遇到了麻烦。 在我的主要方法中,我通过以下方式创建了一个列表:

List<Pair> data = new ArrayList<Pair>();

配对定义为:

class Pair {

  private final double first;
  private final double second;

  public Pair(double first, double second) {
    this.first = first;
    this.second = second;
  }

现在,我试图将项目添加到此列表中。 我试过:“ data.add(double,double)”,但这不起作用。 我尝试在Pair类中创建一个set方法,但是由于“ first”和“ second”被声明为“ final”,因此它不允许我这样做。 我知道我可以更改它们,但我确实希望它们成为最终价值。 那么如何将一个项目添加到此列表中?

List声明为List<Pair> ,需要将Pair对象添加到该List 您需要创建一个Pair实例,该实例将double值传递给其构造函数,然后将该实例addList<Pair> data

Pair pair = new Pair(doubleValue,doubleValue);
data.add(pair);

请仔细阅读List的文档,它为您提供了两种add方法来分别向List添加元素。

add(E e)add(int index,E e)

添加到Noob提到的内容中。 Java中的List或任何其他集合不适用于原语。 集合存储对象。 因此,您需要创建类对的对象,该对象将包含第一个和第二个属性的详细信息。 您可以将Pair对象表示的多行读取文件存储在列表中,如下所示:

List<Pair> data = new ArrayList<Pair>();
Pair pair = new Pair(first,second);
data.add(pair);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM