Map集合与ListIterator迭代器

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);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值