Day_11【集合】扩展案例4_删除长度大于5的字符串,删除元素包含0-9数字的字符串

分析以下需求,并用代码实现

  •  1.定义ArrayList集合,存入多个字符串
     	如:"ab1" "123ad"  "bca" "dadfadf"  "dddaaa"  "你好啊"  "我来啦"  "别跑啊"
     2.遍历集合,删除长度大于5的字符串,打印删除后的集合对象
     	提示:可以将原集合中所有长度大于5的字符串放入到新集合中,遍历新集合,新集合中的元素就是要删除的元素
     3.基于上一步,删除集合中元素包含0-9数字的字符串(只要字符串中包含0-9中的任意一个数字就需要删除此整个字符串)
     	提示:
     		(1)定义public static boolean myContains(String str)方法
     			功能:
     				判断str中是否包含0到9的数字
     					包含:返回true
     					不包含:返回false
     		(2)遍历原集合利用myContains方法将所有包含0-9的字符串放入新集合中
     		(3)新集合中的元素就是要删除的元素
    

代码

package com.itheima4;

import java.util.ArrayList;

public class Test4 {
	public static void main(String[] args) {
		//创建集合对象
		ArrayList<String> list = new ArrayList<String>();
		
		//将元素添加到集合中
		list.add("ab1");
		list.add("123ad");
		list.add("bca");
		list.add("dadfadf");
		list.add("dddaaa");
		list.add("你好啊");
		list.add("我来啦");
		list.add("别跑啊");
		
		for(int i = 0;i < list.size();i++) {
			String str = list.get(i);
			if(str.length() > 5) {
				list.remove(i);
				i--;
			}
		}
		System.out.println(list);
		
		for(int i = 0;i < list.size();i++) {
			String str2 = list.get(i);
			if(myContains(str2)) {
				list.remove(i);
				i--;
			}
		}
		System.out.println(list);
	
	}
	//基于上一步,删除集合中元素包含0-9数字的字符串(只要字符串中包含0-9中的任意一个数字就需要删除此整个字符串)
	/*
	 * 方法:public static boolean myContains(String str)
	 * 功能:
	 * 		判断str中是否包含0到9的数字
	 * 				包含:返回true
	 * 				不包含:返回false
	 * 
	 * 方法:public char[] toCharArray()
	 * 作用:将此字符串转换为一个新的字符数组。
	 */
	public static boolean myContains(String str) {
		char[] chs = str.toCharArray();
		for(int i = 0;i < chs.length;i++) {
			if(chs[i] >= '0' && chs[i] <= '9') {
				return true;
			}
		}
		return false;
	}
}

控制台输出内容
console

原文地址:https://www.cnblogs.com/zzzsw0412/p/12772528.html