A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© a2300538 中级黑马   /  2015-11-26 21:06  /  631 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

不创建新集合的前提下删除ArrayList集合中的包含指定字符的字符串?
比如集合中有“add53sfg”"sd4mgd4" "4" "gsd0asf9" "dasgh"  ;要求删除带有0~9(包含0和9)的元素。

6 个回复

倒序浏览
攒攒攒                 
回复 使用道具 举报
将集合遍历,运用正则表达式([^0-9]+)(表示没有数字的元素)对集合元素进行判断,不符合的删除
回复 使用道具 举报
\\d这个应该是数字0-9  这几天有点忘记
回复 使用道具 举报
666666666666
回复 使用道具 举报
使用list特有的迭代器就行 5行代码搞定,面试做的就是这题.
回复 使用道具 举报
Weidan 中级黑马 2015-11-28 15:14:14
7#
小弟还不会使用正则表达式 只能用笨笨的办法了
  1. package Test;

  2. import java.util.ArrayList;
  3. import java.util.Arrays;
  4. import java.util.List;

  5. public class Demo02 {
  6.         public static void main(String[] args) {
  7.                 //创建集合容器
  8.                 List<String> list = new ArrayList<String>();
  9.                 //添加元素
  10.                 list.add("add53sfg");
  11.                 list.add("sd4mgd4");
  12.                 list.add("4");
  13.                 list.add("gsd0asf9");
  14.                 list.add("dasgh");
  15.                 //遍历容器中的每个元素
  16.                 for (int j = 0;j<list.size();j++) {
  17.                         //用于判断0-9的字符输入
  18.                         for (int i = 0; i <= 9; i++) {
  19.                                 String num = Integer.toString(i);
  20.                                 //如果字符包含了0-9的字符,就从容器中移除
  21.                                 if (list.get(j).contains(num)) {
  22.                                         list.remove(list.get(j));
  23.                                         //移除一个的时候需要重新遍历整个容器
  24.                                         j=0;
  25.                                 }
  26.                         }
  27.                 }

  28.                 for (String string : list) {
  29.                         System.out.println(string + " ");
  30.                 }
  31.         }
  32. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马