Java 如何将元素添加到ArrayList
如何让用户输入一个数字,然后将数组向右移动1。数组不能超过50。请帮助,提前感谢:Java 如何将元素添加到ArrayList,java,arrays,methods,Java,Arrays,Methods,如何让用户输入一个数字,然后将数组向右移动1。数组不能超过50。请帮助,提前感谢: List<Integer> list = new ArrayList<Integer>(1); public void add(int value) { list.add(0, value); for(int i = 0; i < array.length; i++) { list.add(index, value); // h
List<Integer> list = new ArrayList<Integer>(1);
public void add(int value) {
list.add(0, value);
for(int i = 0; i < array.length; i++) {
list.add(index, value); // how to make the elements shift to the right?
if(list.size > 50) {
list.remove(50);
}
}
}
ArrayList为您移动元素,这就是为什么它有索引
创建ArrayList时:新建ArrayList 50不定义大小,请定义ArrayList的容量。“创建时”为空且大小为0
List<Integer> list = new ArrayList<Integer>(50);
public void add(int value) {
if (list.size <= 50) list.remove(list.size() - 1);
// inserting element at position 0 shifts other elements
list.add(0, value);
}
我看不到代码的其余部分。我不知道add之前的列表长度是多少,所以我只是保证它在列表中的指定位置插入指定的元素。如果存在任何元素,则移动当前位于该位置的元素,并且任何后续元素向右移动会将一个元素添加到其索引中。由此 因此,您只需检查列表的大小是否不超过50,然后将数字添加到指定的索引中
List<Integer> list = new ArrayList<Integer>(50);
public void add(int value) {
if (list.size() == 50) // if the size of the array is 50, then remove the last value.
list.remove(list.size() -1);
list.add(int index, E element);// you can even choose where position to insert your value.
}
在构造函数部分,您定义的是容量。默认最小容量为10。你知道你的阵型不能超过50。有一种可能性,元素的数量必须少于50。因此,首先将构造函数部分保留为空
List<Integer> list = new ArrayList<Integer>();
public void add(int value) {
if(list.size() <50)
list.add(0,value);
else
{
list.remove(list.size()-1);
list.add(0, value);
}
为什么要在列表中间添加?我如何在列表中间添加?数组!ArrayListIndex是在哪里定义的?是否有任何特定的原因要使用数组。看起来java.util.LinkedList对您来说是一个更好的选择,如果您不了解构造函数参数initialCapacity,请先将元素添加到头部addFirst。你以前是对的,真的吗?有那么简单吗?考虑到这一点,但我认为这肯定有点困难。如果他使用数组而不是集合作为列表,他应该手动处理。arraylist增长,这就是问题所在,参数50只是初始大小。您将大小设置为50,但在删除之前,此arraylist将包含51。因此,它将不得不调整大小,因此您已尝试提高效率,但这弊大于利。为什么需要一段时间?如果您认为还有更多元素,请使用no?@JordiCastilla,因为我看不到代码的其余部分。我不知道添加前列表的长度是多少,所以我只是保证为什么不删除范围?您不应该定义容量来优化内存使用吗?@JordiCastilla,因为removeRange是受保护的。因此,我必须将ArrayList.list.getlist.size-1子类化,因为size是列表中元素的实际数量,而不是当前容量。您知道如何获取列表的最后一个值吗。例如,如果50大小列表中有11个元素。如何获得第11个元素的值?@BriannaXD列表的大小给出元素的数量;由于索引从0开始,因此可以使用listName.getlistName.size-1获取存储在列表listName中的最后一个值。你可以问StackOverflow:[谢谢!!你也知道如何获取列表的最后一个值。例如,如果50个大小的列表中有11个元素。我如何获取第11个元素的值?list.size-1提供最后一个元素的索引。你知道你在ArrayList的末尾添加新元素,对吗?不是在OP要求的开始。
public class TestList {
public static void main(String[] args) {
ArrayList<Integer> arrlist = new ArrayList<Integer>(4);
// use add() method to add elements in the list
arrlist.add(15);
arrlist.add(4);
arrlist.add(5);
// adding element 25 at third position
arrlist.add(2,25);
for (Integer number : arrlist) {
System.out.println("List Value = " + number);
}
}
}
List<Integer> list = new ArrayList<Integer>(50);
public void add(int value) {
if (list.size() == 50) // if the size of the array is 50, then remove the last value.
list.remove(list.size() -1);
list.add(int index, E element);// you can even choose where position to insert your value.
}
List<Integer> list = new ArrayList<Integer>();
public void add(int value) {
if(list.size() <50)
list.add(0,value);
else
{
list.remove(list.size()-1);
list.add(0, value);
}