Map集合的使用练习
其他
2020-02-22 10:38:01
阅读次数: 0
1.统计字符串中每个字符出现的次数
以前的计数器思想: 针对于少量数据需要统计。 核心: 需要对被统计的元素,每一个元素需要定义一个对应的计数器。 案例: 统计大写字符,小写字符,数字字符,其他字符的个数? 在本案例中定义了四个计数器。
现在这个利用map集合进行计数: 针对于多个元素需要统计。 我现在根本不知道统计多少个元素的数量。
案例1: 我要在一片文章中,统计,a b c d ...26个英文字母分别出现了多少次? 如果按照以前的思路,我们需要定义26个计数器。太复杂了。 所以得使用map集合进行统计。
案例2: 我要在一句话中,统计,a b c d ...26个英文字母分别出现了多少次? 分析:在一句话中,因为比较短,有的字母会出现,有的字母是不会出现的。 在此时,我也不知道我要统计多少个元素出现的次数? 所以此时得用map集合进行统计。
2.map集合的统计思想。 键:需要统计的元素 值:键的这个元素现在出现了多少次
存储过程: 1.先判断当前集合是否存在这个元素 2.如果不存在,标签当前元素第一次出现 hm.put(元素,1); 3.如果已存在,要先把原来出现的次数拿出来 4.次数++ 5.再次put进行。 就会把之前的那个次数给覆盖了。
3.工具类: Arrays 作用:帮助我们操作数组的。 特点:构造方法私有化,不让外界创建对象。 方法都是静态的,直接用类名点调用。
Collections 作用:帮助我们操作集合的。 //重点掌握 sort(List list) 对集合元素排序 注意点:参数一个List。 所以表示:只能传递List接口下面的集合。 Set,Map不能传。 //为什么Set也不能传,因为Set集合里面所有的元素所在的位置是通过哈希算法计算出来的。 //如果Set集合可以传递,那么务必要更加了Set集合中元素所在前后顺序,那么此时就跟哈希算法进行冲突。
void shuffle(List list) 对集合元素随机置换 注意点:参数是List
void reverse() 对集合元素反转
复习: 当方法的参数是一个类名时候 可以传递这个类的对象 还可以传递这个类所有的子类对象
当方法的参数是一个抽象类时 只能传递这个类所有的子类对象
当方法的参数是一个接口时 只能传递这个接口所有的实现类对象 |
|
发布了667 篇原创文章 ·
获赞 6 ·
访问量 9041
转载自blog.csdn.net/heima201907/article/details/104381988