我需要创建一个数组,并从数组的末尾添加和删除 问题是我被要求构建Arraylist构造函数来初始化数组“列表”但是我得到了错误 我该怎么办?!!!
01。创建ArrayList(-1)的实例。列表大小将变为10
02.添加15项。只增加10个
03.这是清单
A C E G I K M O Q S
04.呼叫删除三次
05.这是清单
A C E G I K M
06.调用expandByTen
07.这是清单
A C E G I K M
08.增加15项。
09.这是清单
A C E G I K M B D F H J L N P R T V X Z
import java.util.ArrayList;
public class Main{
/**
* @param args
*/
// create an array list
char []list;
int length;
ArrayList(int maxSize)
{
if (maxSize<=0)
length=10;
else
length=maxSize;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList arrayList;
System.out.println("01. Creating an instance of ArrayList(‐1). The list size will become 10");
arrayList = new ArrayList(‐1);
System.out.println("02. Adding 15 items. Only 10 will be added");
for (int i = 65; i < 96; i += 2) {
arrayList.insertEnd((char) i);
}
System.out.println("03. Here is the list");
arrayList.print();
System.out.println("04. Calling delete three times");
arrayList.deleteEnd();
arrayList.deleteEnd();
arrayList.deleteEnd();
System.out.println("05. Here is the list");
arrayList.print();
System.out.println("06. Calling expandByTen");
arrayList.expandByTen();
System.out.println("07. Here is the list");
arrayList.print();
System.out.println("08. Adding 15 items.");
for (int i = 66; i `enter code here`< 97; i += 2) {
arrayList.insertEnd((char) i);
}
System.out.println("09. Here is the list");
arrayList.print();
}
}
答案 0 :(得分:2)
类ArrayList
已经存在...您不需要编写这样的构造函数:ArrayList(int maxSize)
。
就像您在ArrayList
方法中所做的那样实例化main
:
List myList = new ArrayList(); //don't add a -1 parameter
然后,巧妙地使用您在Java API。
中找到的ArrayList方法myList.add(...);
myList.remove(...);
myList.size();
答案 1 :(得分:2)
Arraylist动态分配大小,在向其添加元素时增加大小。 。所以你可以创建如下的arraylist。
ArrayList arrayList= new ArrayList(10);
或
ArrayList arrayList= new ArrayList();
您无法创建大小为-1
的ArrayList。将new ArrayList(-1);
替换为new ArrayList();
从程序中删除以下无用的代码。它根本不起作用
ArrayList(int maxSize)
{
if (maxSize<=0)
length=10;
else
length=maxSize;
}
print();
deleteEnd();
,insertEnd((char) i);
,Arraylist
答案 2 :(得分:0)
char
数组的新实例。对它的任何引用都将生成NullPointerException
ArrayList.insertEnd(..)
的声明或实现,所以我假设你没有把它包含在这里(同样适用于deleteEnd
和{{1}等等)。expandByTen
实例,如果构造函数参数小于或等于零,则将大小设置为10。在char[]
方法中,您实例化一个大小为-1的main
实例,该实例应该(根据您提供的内容很少)创建(某处)ArrayList
的实例大小为10的字段。但是,您的第一个循环尝试进行15次迭代,如果您没有在list
方法中进行适当的边界检查,则会在运行时生成IndexOutOfBounds
异常。我出去了,并猜测你这是作为学校的任务吗?如果没有,请注意Java在java.util.ArrayList
包中有很多容器,包括java.util
。