栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA中对LinkedList、TreeSet、HashMap、TreeMap、Iterator的总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA中对LinkedList、TreeSet、HashMap、TreeMap、Iterator的总结

一、LinkedList

LinkedList的底层数据结构是双向链表。
以下代码包含创建与遍历。

import java.util.Arrays;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

public class Demo01 {
    public static void main(String[] args) {
        List list = new LinkedList<>(List.of(5, 7, 2, 7, 4, 8, 4, 5, 9, 3, 6, 9, 36, 8));
        list.forEach(System.out::print);
        System.out.println();
        
        Iterator iterator = list.iterator();
        while (true) {
            if (iterator.hasNext()) {
                System.out.print(iterator.next());
            }else {
                break;
            }
        }
        System.out.println();
        Object[] objects = list.toArray();
        Iterator iterator1 = Arrays.stream(objects).iterator();
        iterator1.forEachRemaining(System.out::print);
    }
}
 
二、TreeSet 

TreeSet的底层数据结构是红黑树。
TreeSet即value为PRESENT的TreeMap,PRESENT = new Object()。
以下代码为创建和遍历。

import java.util.Iterator;
import java.util.List;
import java.util.TreeSet;


public class Test05 {
    public static void main(String[] args) {
        TreeSet ts = new TreeSet<>(List.of(4,6,8,21,6,4,8,4,5,5,3,6,5347,57,356,34,624,6,246));
        Iterator iterator = ts.iterator();
        while (iterator.hasNext()) {
            System.out.print(iterator.next());
        }
        System.out.println();

        Iterator iterator2 = ts.stream().iterator();
        iterator2.forEachRemaining(System.out::print);

        System.out.println();

        Iterator iterator1 = ts.stream().toList().stream().iterator();
        iterator1.forEachRemaining(System.out::print);
    }
}
三、HashMap

HashMap在1.7(含)之前的数据结构是数组加链表,在1.7之后底层数据结构是链表加红黑树。
HashMap是无序的,但内部按照Hash码排序,每次输出顺序不变,不可指定排序方式。
以下代码为HashMap的创建和遍历。

package com.map;

import java.util.HashMap;
import java.util.Map;




public class Demo01 {
    public static void main(String[] args) {
        HashMap hm = new HashMap<>();
        hm.put(2, "zhangsan");
        hm.put(1, "lisi");
        hm.putAll(Map.of(4, "wangwu", 5, "zhaoliu", 3, "sunqi"));
        System.out.println(hm);
        // hm.clear();
        System.out.println(hm);
        for (Map.Entry entry : hm.entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }
    }
}
四、TreeMap

TreeMap的底层数据结构是红黑树。
TreeMap是有序的:TreeMap按照key的字典顺序来排序,默认是升序(注意和HashMap的按照hashCode排序来区别,HashMap是无序的)。
以下代码为TreeMap的创建和遍历。

import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;


public class Demo02 {
    public static void main(String[] args) {
        TreeMap tm = new TreeMap<>((a,b) -> a.compareTo(b));
        tm.put("one", "zhangsan");
        tm.put("two", "lisi");
        tm.put("three", "wangwu");
        tm.put("four", "zhaoliu");
        tm.put("five", "sunqi");
        System.out.println(tm);
        Iterator> iterator = tm.entrySet().iterator();
        while (true){
            if(iterator.hasNext()){
                System.out.print(iterator.next() + "   ");
            }else {
                break;
            }
        }
    }
}
转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号