Java Can';t从arraylist中删除此字符串
我好像没法把这件事做好。我错过了什么 发现3个错误: 文件:K:\CustomerLister2.java[行:16]错误:方法长度() 类型java.util.ArrayList文件未定义: K:\CustomerLister2.java[line:18]错误:表达式的类型 必须是数组类型,但已解析为 java.util.ArrayList文件:K:\CustomerLister2.java [line:20]错误:表达式的类型必须是数组类型,但 它解析为java.util.ArrayListJava Can';t从arraylist中删除此字符串,java,arrays,arraylist,Java,Arrays,Arraylist,我好像没法把这件事做好。我错过了什么 发现3个错误: 文件:K:\CustomerLister2.java[行:16]错误:方法长度() 类型java.util.ArrayList文件未定义: K:\CustomerLister2.java[line:18]错误:表达式的类型 必须是数组类型,但已解析为 java.util.ArrayList文件:K:\CustomerLister2.java [line:20]错误:表达式的类型必须是数组类型,但 它解析为java.util.ArrayList
import java.util.ArrayList;
公共类CustomerLister2{
公共静态void main(字符串[]args){
ArrayList name=新的ArrayList();
名称。添加(“克里斯”);
名称。添加(“意向书”);
名称。添加(“Meg”);
名称。添加(“Meg”);
名称。添加(“大脑”);
姓名。添加(“彼得”);
名称。添加(“炖肉”);
对于(int i=0;i
类型java.util.ArrayList的方法length()未定义
你想要:
for ( int i = 0; i < name.size(); i++){
name.get(i)
及
或者,您可以将其转换为数组:
String[] nameArray = name.toArray(new String[0]);
使用nameArray
而不是name
(使用.legnth
而不是.length()
)。查看javadoc
如果要从
ArrayList
中删除项,请使用迭代器
,否则在使用for
循环遍历集合时,尝试删除元素时会出现ConcurrentModificationException
for (Iterator<String> iter = name.iterator(); iter.hasNext();) {
if (iter.next().equals("Meg")) {
iter.remove();
}
}
for(迭代器iter=name.Iterator();iter.hasNext();){
if(iter.next().equals(“Meg”)){
iter.remove();
}
}
String[] nameArray = name.toArray(new String[0]);
String s = "Meg";
while(name.contains(s))
name.remove(s);
for (Iterator<String> iter = name.iterator(); iter.hasNext();) {
if (iter.next().equals("Meg")) {
iter.remove();
}
}