黑马程序员技术交流社区

标题: 集合问题.. [打印本页]

作者: a2300538    时间: 2015-11-26 21:06
标题: 集合问题..
不创建新集合的前提下删除ArrayList集合中的包含指定字符的字符串?
比如集合中有“add53sfg”"sd4mgd4" "4" "gsd0asf9" "dasgh"  ;要求删除带有0~9(包含0和9)的元素。
作者: 小布丁当    时间: 2015-11-26 21:57
攒攒攒                 
作者: 奔跑着    时间: 2015-11-27 00:42
将集合遍历,运用正则表达式([^0-9]+)(表示没有数字的元素)对集合元素进行判断,不符合的删除
作者: 迷茫不堪的年纪    时间: 2015-11-27 00:50
\\d这个应该是数字0-9  这几天有点忘记
作者: wqd123    时间: 2015-11-27 22:00
666666666666
作者: feng0606    时间: 2015-11-28 15:09
使用list特有的迭代器就行 5行代码搞定,面试做的就是这题.
作者: Weidan    时间: 2015-11-28 15:14
小弟还不会使用正则表达式 只能用笨笨的办法了
  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. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2