欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

map常用的四种遍历方式

程序员文章站 2024-02-14 22:54:46
...

@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+"-------");
    }


}
相关标签: java基础常用map类