JAVA 统计字符串数组内 出现的字符个数

import java.util.Arrays;
import java.util.HashMap;
import java.util.List;

public class Calculate {

	public static void main(String[] args) {
		List<String> numList = Arrays.asList("A", "C", "S", "A", "S", "B", "B", "B", "A", "A", "A");
		long startTime = System.currentTimeMillis();
		HashMap<String, Integer> map = countNumber(numList);
		// 打印统计
		for (String numStr : map.keySet())
			System.out.println("计 数 " + numStr + " : " + map.get(numStr));
		long endTime = System.currentTimeMillis();
		System.out.println("程序运行时间 :" + (endTime - startTime) + " 毫秒.");

	}

	public static HashMap<String, Integer> countNumber(List<String> countList) {
		HashMap<String, Integer> map = new HashMap<String, Integer>();
		for (String num : countList) {
			// 不是第一次出现
			if (map.containsKey(String.valueOf(num)))
				// 进行累加
				map.put(String.valueOf(num), map.get(String.valueOf(num)) + 1);
			else
				// 第一次出现
				map.put(String.valueOf(num), 1);
		}
		return map;
	}
}

PS:

java判断数组中相同字符串的个数_百度知道

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用ArrayList来实现动态删除多个元素,具体步骤如下: 1. 将字符串数组转化为ArrayList对象,使用Arrays.asList()方法即可实现: ```java String[] strArray = {"A", "B", "C", "D", "E"}; List<String> list = new ArrayList<String>(Arrays.asList(strArray)); ``` 2. 使用removeAll()方法删除多个元素,参数为需要删除元素的集合对象,如下所示: ```java List<String> removeList = Arrays.asList("A", "C", "E"); list.removeAll(removeList); ``` 3. 将ArrayList转化为字符串数组即可,如下所示: ```java String[] resultArray = list.toArray(new String[0]); ``` 这样,resultArray就是删除指定元素后的字符串数组。 ### 回答2: 在Java字符串数组是一个固定长度的数组,所以无法直接删除元素。但是我们可以使用一些技巧来实现删除多个元素的目的。 一种常见的方法是创建一个新的字符串数组,并将要删除的元素排除在外。具体操作步骤如下: 1. 首先,遍历原始字符串数组统计不需要删除的元素个数,例如使用一个计数器变量count。 2. 根据统计的不需要删除的元素个数创建一个新的字符串数组,例如使用new String[count]。 3. 再次遍历原始字符串数组,将不需要删除的元素逐个赋值给新的字符串数组。 4. 最后,将新的字符串数组作为结果返回。 以下是一个示例代码: ```java public class RemoveElementsInStringArray { public static String[] removeElements(String[] arr, String[] elementsToRemove) { int count = 0; for (String element : arr) { boolean shouldRemove = false; for (String elementToRemove : elementsToRemove) { if (element.equals(elementToRemove)) { shouldRemove = true; break; } } if (!shouldRemove) { count++; } } String[] newArr = new String[count]; int index = 0; for (String element : arr) { boolean shouldRemove = false; for (String elementToRemove : elementsToRemove) { if (element.equals(elementToRemove)) { shouldRemove = true; break; } } if (!shouldRemove) { newArr[index++] = element; } } return newArr; } public static void main(String[] args) { String[] arr = {"apple", "banana", "orange", "grape", "mango"}; String[] elementsToRemove = {"banana", "grape"}; String[] newArr = removeElements(arr, elementsToRemove); for (String element : newArr) { System.out.println(element); } } } ``` 该代码会输出: ``` apple orange mango ``` 以上就是使用Java删除字符串数组多个元素的方法。 ### 回答3: 要删除Java字符串数组的多个元素,我们可以使用以下方法: 1. 创建一个新的字符串数组,用于存储删除元素后的结果。 2. 使用循环遍历原始字符串数组。 3. 在循环,使用条件判断语句来判断当前元素是否需要删除。如果需要删除,则跳过该元素,进行下一次循环;如果不需要删除,则将该元素添加到新的字符串数组。 4. 循环结束后,新的字符串数组就是删除元素后的结果。 以下是一个示例代码: ```java public class Main { public static void main(String[] args) { // 原始字符串数组 String[] arr = {"apple", "banana", "orange", "pear", "kiwi"}; // 需要删除的元素 String[] toBeDeleted = {"banana", "kiwi"}; // 创建一个新的字符串数组 String[] newArr = new String[arr.length - toBeDeleted.length]; int newIndex = 0; for (int i = 0; i < arr.length; i++) { boolean shouldDelete = false; for (int j = 0; j < toBeDeleted.length; j++) { if (arr[i].equals(toBeDeleted[j])) { shouldDelete = true; break; } } if (!shouldDelete) { newArr[newIndex] = arr[i]; newIndex++; } } // 输出删除元素后的结果 for (int i = 0; i < newArr.length; i++) { System.out.println(newArr[i]); } } } ``` 以上代码将输出: ``` apple orange pear ``` 这样就完成了Java字符串数组删除多个元素的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值