从list1中移除list2,去重与不去重,解决List.remove报错UnsupportedOperationException

两个string类型,string之间按逗号分割,先转换为list再进行去重/不去重操作,直接操作list集合可以自行参考修改

public static void main(String[] args) {
	String str1="11,22,44,55,22,11";
	String str2="33,11,22";		
	System.out.println(removeNoDistinct(str1,str2));
}

//移除指定字符串不去重/去重
public static String removeNoDistinct(String str1,String str2) {
	List<String> list1 = Arrays.asList(str1.split(","));

	List<String> arrList = new ArrayList<String>(list1);

	for (int i = 0; i <str2.split(",").length; i++) {
	    for (int j = 0; j < str1.split(",").length; j++) {
	        if (str1.split(",")[j].equals(str2.split(",")[i])) {
	            arrList.remove(str2.split(",")[i]);
	            //加上break为去重;注释break不去重
	            break;
	        }
	    }
	}
	return Arrays.toString(arrList.toArray());
}

运行结果不去重

 

去重

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值