Java数组统计字符串数字出现的次数(筛选理财基金)
写在前面
投资有风险,理财需谨慎。个人观点仅供参考,作学习交流所用,仅此!
最近市场行情还算好,理财对于个人来说必不可少。本人也喜欢去天天基金考察考察,看看有没有好基基!第一步打开天天基金,然后点击基金排行再选择混合基金(我就喜欢买这种)。个人嘛喜欢看看最近一周,近一个月,近三个月的数据。也就分别点了一下排序。
近1周 近一个月 近三个月好家伙,脑子不知怎么滴,突然想统计一下这三波数据出现频次最多的基金代码。以前咋就没想到,奇哉奇哉。
直入正题
思路:
三波数据,到底是三个数组,两个数组,还是一个数组操作为妙呢?
第一时间想到的是循环,数组越多循环岂不是。。。
最后决定还是一个数组操作吧。
方案:
一》写个双for,两两比较统计? 写着写着发现,我目的只是统计数据出现次数,这样做个人觉得麻烦复杂了。
不如
二》不如循环一次用map容器装每个数字出现的次数吧,最终遍历一下map即可达成目的
有颜色的pic部分结果@Test
public void countNum() { String[] datas = new String[]{"004557", "000209", "005076", "400015", "012079", "005939", "005940", "010587", "010588", "009644", "009651", "009652", "005076", "167001", "519005", "001704", "000689", "010135", "010136", "006736", "400015", "010135", "010136", "000689", "009644", "009645", "162201", "000209", "005939", "005940"}; HashMap<String, Integer> map = new HashMap<>(); for (int i = 0; i < datas.length; i++) { Integer count = map.get(datas[i]); map.put(datas[i], map.get(datas[i]) == null ? 1 : count + 1); } for (Map.Entry<String, Integer> en : map.entrySet()) { System.out.println("基金代码:" + en.getKey() + " 出现次数:" + en.getValue()); }}
结语
投资有风险,理财需谨慎,在进行投资的时候切记要先自行去了解清楚,投资也绝对不是说筛选出来的结果买买买就是对的能够赢利的,比如投资购买基金你得起码了解他的基金经理,过往业绩,投资范围等等的方方面面情况!话说回来,简简单单的一个java实践反应出,生活到处都可充满代码气息~