如果我查找ArrayList是什么以及如何使用它,我经常会感到困惑。当我看到这个例子时,我感到害怕:清楚地说明什么是ArrayList以及如何使用它?
new ArrayList<Element>(Arrays.asList(array))
我对ArrayLists作为初学者的理解可能有一些差距。例如:<>
代表什么?它有特殊的意义吗?它在内部表现如何? (例如:我看到变量代表内存中的一个位置,数组变量作为内存中的起始位置和数组的索引作为从这个起始位置开始还有多少距离的方式。)
An我想我需要一个ArrayList的例子: (我试图创建一个用户输入整数数组,用户输入是一次一个整数,结束条件是当用户输入零时endSign = 0
。)因为Java不允许在创建数组后重新调整大小,所以我搜索了一个解决方案来创建一个动态长度的数组。 ArrayList似乎是一个选项,如果我将它转换为最后一个数组,如果我理解正确?如果是这样的话那将是比可能有用使用一个ArrayList在这里:
private int[] userInput(int endSign){ //end-sign is 0 in this case
int validInputCounter=0;
List<int> userValues;
int value;
do{
value = readInt(); //reads integer user-input
if(value != endSign){
validInputCounter++;
userValues += value;
}else{
break;
}
}while(true);
return userValues;
}
在这段代码我想返回值的一个int []数组用户放在
您可以在http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html上找到所有答案。你不能做列表 userValues;你有什么累吗?你必须使用类似列表 userValues; –
StackFlowed
2014-11-03 22:15:55
欢迎来到Stack Overflow。请花点时间熟悉Stack Overflow [帮助文件](http://stackoverflow.com/help),它可以帮助您了解适合本网站的哪些类型的问题。本网站旨在帮助您获得*特定编程问题*的答案,而不是提供教程,设计或代码审阅帮助。请阅读关于列表实现的Java教程,以及关于泛型的信息。使用Google查找教程。 – MarsAtomic 2014-11-03 22:19:40
<>主要是为了模板化你的课程。这是非常面向对象和通用的方法。这在C++中也是可用的,这个想法就是让你的类型保持灵活性,并且在编译期间分配类型。编译器需要知道的是模板应该如何实现,即模板类/函数的定义。 – ha9u63ar 2014-11-03 22:25:50