一段统计双色球历史摇奖记录里每位出现次数的代码

189 阅读1分钟
package testUtility;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
import java.util.Vector;
import java.util.Map.Entry;

public class test_condense
{
	public static void main(String[] args) 
	{
		HashMap<Integer,Integer> map = new HashMap<Integer,Integer>();
		HashMap<Integer,Vector<Integer>> revert = new HashMap<Integer,Vector<Integer>>();
		map.put(4, 2);
		map.put(5, 2);
		map.put(1, 6);
		map.put(3, 6);
		map.put(7, 1);
		Set<Entry<Integer, Integer>> set = map.entrySet();
		Iterator<Entry<Integer, Integer>> itor = set.iterator();
		while(itor.hasNext())
		{
			Entry<Integer, Integer> entry = itor.next();
			int NumberwithOccurance = entry.getKey();
			int Occurance = entry.getValue();
			if( revert.containsKey(entry.getValue()) == false)
			{
				Vector<Integer> NumberListWithSameOccurance = new Vector<Integer>();	
				NumberListWithSameOccurance.add(NumberwithOccurance);
				revert.put(Occurance, NumberListWithSameOccurance);
			}
			else
			{
				Vector<Integer> existingNumberList = revert.get(Occurance);
				existingNumberList.add(NumberwithOccurance);
				revert.put(Occurance, existingNumberList);
			}
		}
		Set<Entry<Integer, Vector<Integer>>> Revertset = revert.entrySet();
		Iterator<Entry<Integer, Vector<Integer>>> Revertitor = Revertset.iterator();
		while(Revertitor.hasNext())
		{
			Entry<Integer, Vector<Integer>> entry = Revertitor.next();
			System.out.println("Occruance: " + entry.getKey());
			for( int i = 0 ; i < entry.getValue().size(); i ++)
			{
				System.out.println("Number with same Occurance: " + entry.getValue().elementAt(i));
			}
		}
		
	}
}

这是测试数据:key为双色球号码,value为该号码出现次数,比如(4,2)意思就是4号球出现了两次。

clipboard1

执行代码,输出:

clipboard2

Occruance: 1
Number with same Occurance: 7
Occruance: 2
Number with same Occurance: 4
Number with same Occurance: 5
Occruance: 6
Number with same Occurance: 1
Number with same Occurance: 3

意思是7号球出现了一次,4号球和5号球出现了2次,依次类推。

要获取更多Jerry的原创文章,请关注公众号"汪子熙":