嘿,我是Java的新手,并且在使用数组方面遇到了困难。我试图使用数组或arrayLists来存储我的测试类中的值列表。但我正在研究如何将set1和set2添加到我的arrayList中。
我有一个带
的测试类Data set1 = new Data(new double[]{1, 2, 3, 4, 5});
System.out.println("Set1: " + set1);
Data set2 = new Data(new double[]{-5, -4, -3, 1});
System.out.println("Set2: " + set2);
然后我的数据类
import java.util.ArrayList;
public class Data {
public Data(double[] sets) {
ArrayList<Double> sets = new ArrayList<Double>();
}
}
答案 0 :(得分:0)
也许这对你有用:
colortext
答案 1 :(得分:0)
首先将数据类创建为:
class Data
{
ArrayList<Double> obj;
Data(Double var[])
{
obj=new ArrayList<Double>();
for(int i=0;i<var.length;i++)
{
obj.add(var[i]);
}
}
}
现在将此数据类的对象创建为:
Double val1[]={1.0,2.0,3.0,4.0};
Data set1=new Data(val1);
Double val2[]={1.0,25.0,36.0,44.0};
Data set2=new Data(val2);
现在将这些数据类对象添加到arraylist中:
ArrayList<Data> sets=new ArrayList<Data>();
sets.add(set1);
sets.add(set2);
答案 2 :(得分:0)
您的问题出在您的Data
课程中:
import java.util.ArrayList;
public class Data {
public Data(double[] sets) {
ArrayList<Double> sets = new ArrayList<Double>();
}
}
sets
变量在构造函数返回后消失,因此无法在那里声明它。您应该将声明移动到类级别,并在构造函数中为其指定正确的值:
ArrayList<Double> sets;
public Data(double[] sets) {
this.sets = new ArrayList<Double>();
for (double d : sets) {
this.sets.add(d);
}
}
由于您要打印Data
,因此需要覆盖toString
方法:
@Override
public String toString() {
return sets.toString();
}
答案 3 :(得分:0)
以下是使用Java 8流的代码,
class Data {
List<Double> d;
public Data(Stream sets) {
this.d = (List<Double>) sets.collect(Collectors.toList());
}
}
Data setss = new Data(Stream.of("1.1","2","3.4","4","5"));
System.out.println("d list = "+setss.d);