3-2 JAVA [集合-List中指定元素的删除]

编写以下两个函数

//以空格(单个或多个)为分隔符,将line中的元素抽取出来,放入一个List
public static List<String> convertStringToList(String line) 
//在list中移除掉与str内容相同的元素
public static void remove(List<String> list, String str)

输入样例

1 2 1 2 1 1 1 2
1
11 1 11 1 11
11
2 2 2 
1
1   2 3 4 1 3 1
1

输出样例

[1, 2, 1, 2, 1, 1, 1, 2]
[2, 2, 2]
[11, 1, 11, 1, 11]
[1, 1]
[2, 2, 2]
[2, 2, 2]
[1, 2, 3, 4, 1, 3, 1]
[2, 3, 4, 3]

参考代码:

import java.util.*;
public class Main {
	public static List<String> convertStringToList(String line){
		List<String>list=new ArrayList<String>();
		String str[]=line.split("\\s+");
		/*	java String.split()使用注意:
		 * 根据给定的正则表达式(regex)的匹配来拆分此字符串
		 * 1 要注意转义字符:“.”和“|”都是转义字符,必须得加"\\"。同理:*和+也是如此的
		 * 2 “\s”表示 空格,回车,换行等空白符
		 * 3 “+”号表示一个或多个的意思 “\S” 表示全部空格
		 * 4 " "只表示单个空格,所以不一样
		 */
		for(int i=0;i<str.length;i++){
			list.add(str[i]);
			}
		return list;
	}
	public static void remove(List<String> list, String str){
		for(int i=0;i<list.size();) {
			if(list.get(i).equals(str)) {
				list.remove(i);
				i=0;
			}else i++;
		}
	}
   
        
     public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNextLine()){
            List<String> list = convertStringToList(sc.nextLine());
            System.out.println(list);
            String word = sc.nextLine();
            remove(list,word);
            System.out.println(list);
        }
        sc.close();
    }

}

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值