- public class Test1 {
- public static void main(String[] args) {
-
- List<String> aList = new ArrayList<String>();
- //向aList添加字符串
- aList.add("aaa");
- aList.add("aba");
- aList.add("aca");
- aList.add("abc");
-
-
- //方法一,用for循环的方式,判断集合中的元素是不是等于abc,如果不是就加入到新建的集合中,最后返回新建的集合
- List<String> list = removeStr1(aList,"abc");
- System.out.println(list);
-
- //方法二,List有一个特殊的迭代器借口(listIterator()),这个接口的特点是
- //迭代期间可以删除List中的元素
- removeStr2(aList,"abc");
- System.out.println(aList);
- }
- //方法一 -----------------------------------------------------------------------
- private static List<String> removeStr1(List<String> aList,String str) {
- //用多态的形式创建一个String类型的ArrayList的对象list,来存储不是"abc"的字符串
- List<String> list = new ArrayList<String>();
- //用for循环遍历整个集合,如果不等于传进来的字符串str,则添加到新的数组list中
- for (int i = 0; i < aList.size(); i++) {
- //判断是不是等于传进来的字符串str
- if(!(aList.get(i).equals(str))){
- //向list中添加元素
- list.add(aList.get(i));
- }
- }
- return list;
- }
-
- //方法二 -----------------------------------------------------------------------
- private static void removeStr2(List<String> aList,String str) {
- // TODO Auto-generated method stub
- //创建一个List集合特有的迭代器(迭代期间可以删除List中的元素)
- Iterator<String> it = aList.listIterator();
- while(it.hasNext()){
- if(it.next().equals(str)){
- //如果等于传进来的str,就列表中删除
- it.remove();
- }
- }
- }
-
- }
复制代码
|