map常用的四种遍历方式

@map遍历的几种方式

map常用的四种遍历方式

加了一些list的用法,记录用防止忘

public class Test {

public static void main(String[] args) {
    Hashtable<Object, Object> objectObjectHashtable = new Hashtable<>();
    HashMap<Object, Object> objectObjectHashMap = new HashMap<>();
    List stringList=new ArrayList<String>();
    stringList.add("123aaa");
    stringList.add("123aaa");
    stringList.add("133aaa");
    stringList.add("113aaa");
    stringList.add("2222bbb");
    stringList.add("6bbb");
    stringList.add("8bbb");
    stringList.add("0ccc");
    stringList.add("555ddd");
    stringList.add("A");
    stringList.add("a");

    /**
     * 对字符串类型的集合进行排序
     * 先按照首位进行排序,如果首位相同,依次往后进行比较
     * 都是字母的话,会根据scaII码值进行比较
     */

    Object[] array = stringList.toArray();
    Arrays.sort(array);
    for (int i = 0; i < array.length; i++) {
        //System.out.println(array[i]);
    }
    /**
     * 如果想除去arrayList中的重复数据,可以将arrayList装换为hashSet
     * 这样就能除去重复项
     */
    HashSet<String> hashSet = new HashSet<String>(stringList);
    for (String object : hashSet) {
        //System.out.println(object);
    }

    HashMap<Object, Object> hashMap = new HashMap<>();
    hashMap.put("key1","哈哈1");
    hashMap.put("key2","哈哈2");
    hashMap.put("key3","哈哈3");
    hashMap.put("key4","哈哈4");
    /**
     * 对map进行遍历
     * 1.通过keyset()方法 获取所有的key值,加上迭代器进行
     * 2.通过foreach 遍历所有的key值
     */
    Set<Object> set = hashMap.keySet();
    Iterator<Object> iterator = set.iterator();
    while (iterator.hasNext()){
        Object next = iterator.next();
        System.out.println(next+"~~~~~~~"+hashMap.get(next));
    }

    for (Object key:set) {
        System.out.println(key+"~~~~---"+hashMap.get(key));
    }

    /**
     * 3.通过entrySet()方法 直接获取map中entry对象的值
     * 4.通过foreach 遍历所有的entry对象
     */
    Set<Map.Entry<Object, Object>> entries = hashMap.entrySet();
    Iterator<Map.Entry<Object, Object>> iterator1 = entries.iterator();
    while (iterator1.hasNext()){
        Map.Entry<Object, Object> next = iterator1.next();
        System.out.println(next.toString());
    }

    for (Map.Entry<Object, Object> entry:entries) {
        System.out.println(entry.getKey()+"=="+entry.getValue());
    }

    /**
     * 通过values()方法 对hashMap中的value进行遍历
     * map中entry<key,value>对象的key是唯一的,value可以不唯一
     */
    Collection<Object> values = hashMap.values();
    Iterator<Object> iterator2 = values.iterator();
    while (iterator2.hasNext()){
        Object next = iterator2.next();
        System.out.println(next+"-------");
    }


}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值