题目:编写以下两个函数
//以空格(单个或多个)为分隔符,将line中的元素抽取出来,放入一个List
public static List convertStringToList(String line)
//在list中移除掉与str内容相同的元素
public static void remove(List list, String str)
我的代码:
public static List<String> convertStringToList(String line){
String []s=line.split("\\s+");
ArrayList<String> l=new ArrayList<String>();
for(int i=0;i<s.length;i++){
if(!s.equals(" "))
l.add(s[i]);
}
return l;
}
public static void remove(List<String> list, String str){
for(int j=0;j<list.size();j++){
if(list.get(j).equals(str))
list.remove(j);
}
}
第二个函数哪里写错了呢?
集合遍历移除元素要借助迭代器,iterator
(1)ArrayList:底层数据结构是数组,查询快,增删慢,线程不安全,效率高,可以存储重复元素
(2)LinkedList 底层数据结构是链表,查询慢,增删快,线程不安全,效率高,可以存储重复元素
(3)Vector:底层数据结构是数组,查询快,增删慢,线程安全,效率低,可以存储重复元素
(4小结: