概述
Set keySet:将map中所有的键存入到Set集合。因为set具备迭代器。
所有可以迭代方式取出所有的键,在根据get方法。获取每一个键对应的值。
Map集合的取出原理:将map集合转成set集合。在通过迭代器取出。
需求:
计算一个字符串中每个字符出现次数。
解题思路:用Map集合存字符和其出现的次数。遍历由字符串转化的字符数组,用map的containKey方法判断map中是否含有该字符,如果map里已经存在这个"key"的对象,则把获得键值++,如果没有则放入map中,键值为1。
package com.kjxy74.Demo1;
import java.util.HashMap;
import java.util.Map;
public class Demo1 {
public static void main(String[] args) {
String string="aaaaaaabbbbbbbbbb";
Map<Character, Integer> map = new HashMap<>();
for (char c:string.toCharArray()){
if (map.containsKey(c)){
int i =map.get(c);
map.put(c,++i);
}else{
map.put(c,1);
}
}
System.out.println(map);
}
}
Iterator是一个接口,它是集合的迭代器。集合可以通过Iterator去遍历集合中的元素。
需求:
遍历一个集合,删除所有与s相同的元素 。
解题思路:创建一个list集合,使用Collections类的addAll方法把元素添加进去。遍历一个集合的同时还要删除元素,正常的for循环遍历是会编译出错的,所以需要使用迭代器。创建 ListIterator迭代器去遍历list,当遍历到与“s”相同的元素时,迭代器调用remove方法,删除该元素。
package com.kjxy74.Demo1;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.ListIterator;
public class Demo6 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
Collections.addAll(list,"a","b","s");
ListIterator<String> listIterator1 = list.listIterator();
while (listIterator1.hasNext()){
String s=listIterator1.next();
if ("s".equals(s)){
listIterator1.remove();
}
}
System.out.println(list);
}
}
最后
以上就是忧郁绿草为你收集整理的Map集合与ListIterator迭代器的全部内容,希望文章能够帮你解决Map集合与ListIterator迭代器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复