所以我在底部有这个代码,我必须将myArray实例化为一个新数组。将int []数据中的所有数据复制到myArray。将numMoves设置为0. data包含用户输入值的数组。所以这里的代码是通过使用int和just = signs和new来完成的,但现在我需要更改这个使用“List”,我不知道列表是什么以及如何使用它。所以我需要帮助的是java上的什么是List,我将如何使用List。谢谢,我更喜欢告诉我它是如何工作的,谢谢!
public class Deletions
{
private int[] myArray;
private int numMoves;
public Deletions(int[] data)
{
myArray = new int [data.length] ;
for(int n = 0; n < data.length; n++)
{
myArray[n] = data[n];
}
numMoves = 0;
}
答案 0 :(得分:2)
首先,原始数组复制方法可以这样写。
int[] myArray = new int[data.length];
System.arraycopy(data, 0, myArray, 0, data.length);
然后,解决方案将是
public List<Integer> copyToList(int[] data){
List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < data.length; i++) {
list.add(data[i]);
}
return list;
}
或
public List<Integer> copyFromToList(List<Integer> data){
return new ArrayList<Integer>(data);
}
答案 1 :(得分:2)
List是一个有序集合,也称为序列。对于有序,这意味着可以检索与将元素插入List中相同的序列中的元素。另一个重要的事情,List是接口而不是具体的实现。有关具体实施,请查看LinkedList / ArrayList等。
为了达到同样的效果,我会这样写: -
new ArrayList<>(Arrays.asList(data));
答案 2 :(得分:1)
list 是任何类,其实例可以包含有序的对象序列。
在Java中,您很可能希望使用ArrayList<E>
,这是通用列表。通用意味着您可以在列表中放置任何类型的对象,只要您指定该类型(或其基本类型之一)代替E
。 ArrayList<E>
包含add
,get
和set
等方法。
例如:
ArrayList<Integer> myList = new ArrayList<Integer>();
myList.add(1337);
myList.add(42);
查看ArrayList<E>
documentation,了解有关可用方法的更多信息。
答案 3 :(得分:1)
public class Deletions
{
private ArrayList<Integer> myArray;
private int numMoves;
public Deletions(int[] data)
{
myArray = new ArrayList<Integer>();
for(int n = 0; n < data.length; n++)
{
myArray.add(data[n]);
}
numMoves = 0;
}
}
http://docs.oracle.com/javase/tutorial/collections/implementations/list.html