![]() ![]() |
|
JAVA技巧(找出一个数组中出现次数最多的那个元素) | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/10/22 21:36:33 文章录入:杜斌 责任编辑:杜斌 | |
|
|
给出的代码是: import java.util.*; public class FindMostEle { private static HashMap<String, Integer> map; public static HashMap<String, Integer> mostEle(String[] strArray){ map = new HashMap<String, Integer>(); String str = ""; int count = 0; int result = 0; for(int i=0; i<strArray.length; i++) str += strArray[i]; for(int i=0; i<strArray.length; i++){ String temp = str.replaceAll(strArray[i], ""); count = (str.length() - temp.length())/strArray[i].length(); if (count > result){ map.clear(); map.put(strArray[i], count); result = count; } else if(count == result) map.put(strArray[i], count); } return map; } public static void main(String args[]){ String[] strArray = {"11", "11", "2", "2", "4", "5", "4"}; HashMap<String, Integer> result = mostEle(strArray); ArrayList<Integer> c = new ArrayList<Integer>(result.values()); Set<String> s = result.keySet(); System.out.print("一共有"+ result.size() +"元素最多。它们分别是"); System.out.print(s); System.out.println(",分别出现了"+ c.get(0) +"次。"); } } 结果是: 一共有3元素最多。Examda提示:它们分别是[2, 11, 4],分别出现了2次。 |
|
![]() ![]() |