You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中是否存在一行代码创建含元素的SortedSet的方法?

Java中创建SortedSet的便捷方式

JDK标准库的写法

JDK本身并没有提供SortedSet.of(...)这类直接的静态工厂方法,因为Set.of()返回的是不可变的普通HashSet实现,而SortedSet(比如TreeSet)依赖排序规则(自然排序或自定义比较器),没法像普通Set那样直接通过静态方法创建。

你当前用的new TreeSet<>(Set.of(element1, element2))是标准的简洁写法,也可以换成new TreeSet<>(List.of(element1, element2)),两者效果完全一致,都是把不可变集合的元素导入TreeSet中。

第三方工具库的方案

如果想进一步简化写法,可以借助常用的工具库:

Apache Commons Collections

  • 直接创建默认排序的TreeSet:
    SetUtils.newSortedSet(element1, element2);
    
  • 需要自定义比较器时,用重载方法:
    SetUtils.newSortedSet(customComparator, element1, element2);
    

Guava

  • 不可变SortedSet(适合不需要修改的场景,线程安全):
    ImmutableSortedSet.of(element1, element2);
    
  • 可变TreeSet的简洁创建:
    Sets.newTreeSet(Arrays.asList(element1, element2));
    

内容的提问来源于stack exchange,提问作者GreenTurtle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 07:04:56