Java 5库中是否已经提供了一个方法来将元素添加到字母中List?
换句话说,假设我有List<String>三个元素{"apple","cat","tree"},我想添加String"香蕉",同时List按字母顺序排列; 是否有一种简单的方法可以简单地将它添加到List,以便List现在有四个元素{"apple","banana","cat","tree"}?
你可以使用PriorityQueue.它们根据它们所拥有的对象的比较器进行排序. Strings在默认情况下,根据第一不同的性格,它会给你想要的结果的ASCII值进行排序(只要所有单词的大小写是一样的.)
快速举例:
PriorityQueue<String> pq = new PriorityQueue<String>();
pq.add("banana");
pq.add("apple");
pq.add("orange");
pq.poll(); // Returns "apple"
pq.poll(); // Returns "banana"
pq.poll(); // Returns "orange"
Run Code Online (Sandbox Code Playgroud)
需要注意的是两者的大O运行add()和poll()是O(logn).
编辑:PriorityQueue是最好的,如果你想删除的订单中的商品,但你需要一个TreeSet来遍历该集合秩序.
有SortedSet和SortedMap.然而,两者都不能支持重复.如果这是您需要的,那么使用Set数据结构.你的返回类型需要是List然后他使用Collections.list(set)将最终的Set转换为List.这里的javadoc http://download.oracle.com/docs/cd/E17476_01/javase/1.4.2/docs/api/java/util/Collections.html#list(java.util.Enumeration)
| 归档时间: |
|
| 查看次数: |
499 次 |
| 最近记录: |