我有值列表,例如
0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,0.10,0.11,0.12
我希望将其存储到具有特定索引的ArrayList
0.1,0.2,0.3,==指数1
0.4,0.5,0.6,==指数2
0.7,0.8,0.9,==指数3
0.10,0.11,0.12,==指数4
谢谢
答案 0 :(得分:0)
ArrayList[][] array = {{0.1,0.2,0.3},{0.4,0.5,0.6},{0.7,0.8,0.9},{0.10,0.11,0.12}}
这是一个多维数组
设置值:
array[0][0] = 0.1;
array[0][1] = 0.2;
array[1][0] = 0.4;
array[1][1] = 0.5;
... ECT
答案 1 :(得分:0)
您可以根据需要使用数组List和HaspMap
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args) {
ArrayList<Double> list = new ArrayList<Double>();
Map<String, ArrayList<Double>> map = new HashMap<String, ArrayList<Double>>();
list.add(0.1);
list.add(0.2);
map.put("key", list);
System.out.println(map.get("key").get(0));
}
}
答案 2 :(得分:0)
在ArrayList<Double>
中,单个索引可以包含单个值。
如果您想存储多个值,请尝试使用ArrayList<ArrayList<Double>>
。
如果您想将其存储在索引中,请使用.set(index, value)
ArrayList<Double> list = new ArrayList<>();
list.add(0.1);
list.add(0.2);
list.add(0.3);
ArrayList<ArrayList<Double>> mainList = new ArrayList();
mainList.set(0, list);
从列表中我看到3个值列表。
double []values = {0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.10, 0.11, 0.12};
ArrayList<ArrayList<Double>> mainList = new ArrayList();
int k = 0;
for(int i = 0; i < values.length; i += 3)
{
ArrayList<Double> list = new ArrayList();
list.add(values[i]);
list.add(values[i + 1]);
list.add(values[i + 2]);
mainList.set(k ++, list);
}
答案 3 :(得分:0)
在arrayList中,您无法在同一个索引中保留多个值,它只是不会那样工作。
根据您的要求,我认为您可以通过两种方式设计数据结构 -
<强> 1。地图
Map<Integer, List<Double>>
将地图保持索引作为关键字,将项目列表作为值。 因此,keep(1,[0.1,0.2,0.3])表示1个索引作为键,相应的列表表示值
<强> 2。用户定义对象列表
class IndexValue {
int index;
double value;
IndexValue(int index, double value) {
this.index = index;
this.value = value;
}
}
List<IndexValue> indexValueList = new ArrayList<>();
indexValueList.add(new IndexValue(1, .1));
indexValueList.add(new IndexValue(1, .2));
indexValueList.add(new IndexValue(1, .3));