Skip to content

more options

Himxh edited this page Oct 4, 2026 · 1 revision
int main() {
    var log = Bukkit.getServer().getLogger();

    // ==================== ArrayDeque ====================
    log.info("===== ArrayDeque =====");
    var deque = new java.util.ArrayDeque();
    deque.addFirst("A");
    deque.addLast("B");
    deque.offer("C");
    deque.push("D");                       // Deque 的 stack 语义:压到头部
    log.info("size = " + deque.size());
    log.info("peek = " + deque.peek());
    var p1 = deque.poll();
    var p2 = deque.pop();
    log.info("poll = " + p1 + ", pop = " + p2);
    log.info("remaining size = " + deque.size());
    log.info("isEmpty = " + deque.isEmpty());

    // ==================== TreeMap ====================
    log.info("===== TreeMap =====");
    var tm = new java.util.TreeMap();
    tm.put(3, "three");
    tm.put(1, "one");
    tm.put(2, "two");
    tm.put(5, "five");
    tm.put(4, "four");
    log.info("size = " + tm.size());
    log.info("firstKey = " + tm.firstKey());
    log.info("lastKey = " + tm.lastKey());
    log.info("get(2) = " + tm.get(2));
    log.info("containsKey(3) = " + tm.containsKey(3));
    log.info("remove(3) = " + tm.remove(3));
    log.info("after remove size = " + tm.size());

    // ==================== LinkedList ====================
    log.info("===== LinkedList =====");
    var ll = new java.util.LinkedList();
    ll.add("x");
    ll.add("y");
    ll.add("z");
    log.info("size = " + ll.size());
    log.info("get(1) = " + ll.get(1));
    log.info("contains y = " + ll.contains("y"));

    // ==================== HashSet ====================
    log.info("===== HashSet =====");
    var hs = new java.util.HashSet();
    hs.add("a");
    hs.add("b");
    hs.add("a");                            // 重复,不增加
    log.info("size = " + hs.size());        // 期望 2
    log.info("contains a = " + hs.contains("a"));

    // ==================== PriorityQueue ====================
    log.info("===== PriorityQueue =====");
    var pq = new java.util.PriorityQueue();
    pq.offer(5);
    pq.offer(1);
    pq.offer(3);
    log.info("peek = " + pq.peek());        // 期望 1
    log.info("poll = " + pq.poll());        // 期望 1
    log.info("poll = " + pq.poll());        // 期望 3
    log.info("remaining = " + pq.size());

    // ==================== LinkedHashMap ====================
    log.info("===== LinkedHashMap =====");
    var lhm = new java.util.LinkedHashMap();
    lhm.put("k1", 100);
    lhm.put("k2", 200);
    lhm.put("k3", 300);
    log.info("size = " + lhm.size());
    log.info("get k2 = " + lhm.get("k2"));
    log.info("containsKey k3 = " + lhm.containsKey("k3"));

    log.info("===== 全部通过 =====");
}
/*


Happy Scripting! The whole JAVA world is open to you!



*/

HimDSL 文档 / Documentation

入门 / Getting Started

语言基础 / Language Basics

控制流 / Control Flow

函数 / Functions

数据结构 / Data Structures

自定义类型 / Custom Types

Minecraft 集成 / Minecraft Integration

事件与调度 / Events & Scheduling

GUI 系统 / GUI System

内置函数参考 / Built-ins Reference

进阶 / Advanced

扩展 API / Extension API

你真的需要 API 吗?/ Do you really need the API?

Clone this wiki locally