集合-List中指定元素的删除

编写以下两个函数

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

裁判测试程序:

public class Main {

 /*covnertStringToList函数代码*/ 

/*remove函数代码*/ 

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();
 } 
}

样例说明:底下展示了4组测试数据。

输入样例

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]

代码如下:

public static List<String> convertStringToList(String line)
{
        List<String> s = new ArrayList<String>();
        String str = ""; 
        for(int i=0;i<line.length();i++)
        {
            char c = line.charAt(i);
            if(c==' ')
            {
                if(!str.equals("")) s.add(str);
                str="";
            }
            else {
                str+=c;
        }
        }
        if(!str.equals("")) s.add(str);  //若str非空,则把元素添加进去。
        return s;
}
public static void remove(List<String> list, String str)
{
        List<String> s = new ArrayList<String>();
        s.add(str);
        list.removeAll(s);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值