public class MainClass {
public static void main(String[] args)throws Exception {
List<Integer> list = List.of(1, 3, 54, 54,5, 4,43);
System.out.println(list);
// Строка ниже не компилируется
//ArrayList<Integer> list1 = List.of(1, 3, 54, 54,5, 4,43);
Set<Integer> set = Set.of(1, 3, 54,5, 4,43);
System.out.println(set);
Map<String, String> map = Map.ofEntries(Map.entry("11", "111"), Map.entry("htfg", "222"));
System.out.println(map);
}
}
据我所知,List、Set 和 Map 是接口,它们本身并不代表实现,因此问题将是什么,例如,工作表(列表(如果是,那么是什么)数组 ???? ?)
特别是在您的情况下,它将是
java.util.ImmutableCollections$ListN
该方法
of
返回私有实现,在带有 的示例中List.of(...)
,它不是ArrayList
,但它list
是基于数组的。调用也有一些微妙之处,例如of
,使用一个参数,然后返回一个集合,而不是从数组中返回,一个存储您作为私有字段传递的值的集合。套装也是一样。这是of
实现List
如您所见,它返回
List0
.相同的实现是 for
Set
和 for ,Map
顺便说一下,Set 返回的不是散列,而是基于一个简单的数组这是一个查找
Set
它返回的元素的方法Set.of(...)