【一道java题】识别出相同的组

String txet=“abc ac a abc a  cd ef e”

 

要求输出:abc  2

                 ac  1

                  a   2

 

我只是用容器中的HashMap做了一下,输出的结果形式上不一样,可能还有其他方法能正确实现。

 

package Map;

/**
 * 探讨一道题目,使用容器中的HashMap做出来,比较有参考意义
 * 
 */
import java.util.*;

public class HashMapTest {

	public static final int ONE = 1;

	public static final String text = "abc ac a ab cd  cd ef e";

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		// split 对字符串进行截取,截取符合自己要求的子字符串,并将子字符串放入数组中
		String[] t = text.split(" ");
		Map m = new HashMap();

		for (int i = 0; i < t.length; i++) {

			System.out.print(t[i] + " ");
		}
		System.out.print("\n");
		System.out.println(t.length);

		for (int i = 0; i < t.length; i++) {

			int freq = (Integer) m.get(t[i]) == null ? ONE : (Integer) m
					.get(t[i]) + 1;
			m.put(t[i], freq);
		}

		System.out.println("HashMap 中共有" + m.size() + "对元素!");

		System.out.print(m);
	}

}
 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值