我需要使用数组列表,因为我不知道需要多少行,但我知道我需要2列。我不确定如何创建这样的数组列表,添加到两列并从两列读取数据。两列都包含整数。
我见过一些建议:
ArrayList<Arraylist<Integer>> name = new ArrayList<ArrayList<Integer>>();
但我可以找到如何添加到两列的解释。
我也看到了:
ArrayList<Integer[][]> name = new ArrayList<Integer[][]>();
和方括号的位置和数量的不同变化。 感谢。
答案 0 :(得分:1)
Java是面向对象的语言,为什么不创建ArrayList<Column>
?
您可以创建一个类Column
来满足您的要求:它可以包含setter和getter,如果您需要支持除Integer
以外的其他类型,您可以对其进行生成。例如:
class Column<T> {
private T value;
public Column(T value) {
this.value = value;
}
public getValue() {
return this.value;
}
}
然后你声明:
List<Column<Integer>> list = new LinkedList<>();
list.add(new Column<Integer>(5));
System.out.println(list.get(0).getValue())
答案 1 :(得分:0)
你可以尝试
你没有提供足够的信息来确定你真正想要做什么,但是如果你必须使用List作为基础,我通常会使用一个自定义元组列表列表,每个对象都有两个值。< / p>
答案 2 :(得分:0)
这样的事情:
public MyObject {
Integer integer1;
Integer integer2;
}
List<MyObject> myObjList = new ArrayList<>();
MyObject mo = new MyObject(){
...
myObjList.add(mo);
答案 3 :(得分:0)
您可以尝试创建一个名为Row的简单POJO类,并将两个变量作为column1和column2。然后将此Row对象添加到列表中。
答案 4 :(得分:0)
示例创建二维结构如何使用与您类似的列表:
List<List<Integer>> names = new ArrayList<>();
List<Integer> row = new ArrayList<>();
row.add(1); // first column
row.add(2); // second column
names.add(row); // add row with column
System.out.println(names.get(0).get(0)); // get first column from first row
System.out.println(names.get(0).get(1)); // get second column form first row
但最好的方法是使用像这样的Custom对象:
class CustomRow {
private int col1;
private int col2;
// getters and setters
}
List<CustomRow> tables;
CustomRow cr = new CustomRow();
cr.setCol1(1);
cr.setCol2(2);
tables.add(cr);
答案 5 :(得分:-1)
您基本上需要创建一个包含Integer类型的ArrayList的ArrayList。然后,您可以将其中两个ArrayLists添加到主数组列表中。
int main()
{
const int MAX = 10;
string a = "ABCD";
string arr[10];
permute(arr, a, 0, a.size(), 0);
return 0;
}
void permute(string arr[], string wrd, int firstLetter, int lastLetter, int it)
{
if (firstLetter == lastLetter)
*arr = wrd;
else
{
swap(wrd[firstLetter], wrd[it]);
permute(arr, wrd, firstLetter + 1, lastLetter, it++);
}
}
基于这个答案: