我想知道:Java中的集合是什么?
解决方法:
虽然Collection接口可以直接实现,但通常客户端代码将使用其中一个子接口的实现:Set,List,Queue / Deque
下面是一些示例代码(在左侧,您通常会看到一个接口,而在右侧则是一个实现类).
Sets不存储重复项,它们的所有元素都是唯一的:
final Set basicSet = new HashSet();
basicSet.add("One");
basicSet.add("Two");
basicSet.add("One");
basicSet.add("Three");
System.out.println(basicSet.toString());
// Output: [Three, One, Two]
// (seemingly random order, no duplicates)
SortedSets是以特定顺序存储元素的集合的特例:
final SortedSet sortedSet = new TreeSet();
sortedSet.add("One");
sortedSet.add("Two");
sortedSet.add("One");
sortedSet.add("Three");
System.out.println(sortedSet.toString());
// Output: [One, Three, Two]
// (natural order, no duplicates)
Lists允许您多次存储值并访问或修改插入顺序:
final List strings = new ArrayList();
strings.add("Two");
strings.add("Three");
strings.add(0, "One"); // add item to beginning
strings.add(3, "One"); // add item at position 3 (zero-based)
strings.add("Three");
strings.add(strings.size() - 1, "Two"); // add item at last-but-one position
System.out.println(strings);
// Output: [One, Two, Three, One, Two, Three]
定义列表还有一个实用的简写:
List strings = Arrays.asList("One", "Two", "Three");
// this returns a different kind of list but you usually don't need to know that
等等
为了更好地理解,请阅读Sun Java Tutorial(在线)中的The Collections Trail或Maurice Naftalin和Philip Wadler的Java Generics and Collections.
标签:java,collections
来源: https://codeday.me/bug/20190923/1815821.html