java.util.Collections 集合帮助类 示例程序(JUnit演示) 排序 @Test public void testSort() { ListInteger demoList = new ArrayListInteger(Arrays.asList(3, 2, 1)); assertEquals(3, demoList.get(0).intValue()); //public static T extends Comparable
java.util.Collections 集合帮助类
示例程序(JUnit演示)
排序
<code class="java"> @Test public void testSort() { List demoList = new ArrayList(Arrays.asList(3, 2, 1)); assertEquals(3, demoList.get(0).intValue()); //public static > void sort(List list) Collections.sort(demoList); assertEquals(1, demoList.get(0).intValue()); //public static void shuffle(List<?> list) // 随机排序 //public static void reverse(List<?> list) // 反序 }
查找
<code class="java"> @Test public void testBinarySearch() { List demoList = new ArrayList(Arrays.asList(3, 2, 1)); //必须先排序 Collections.sort(demoList); assertEquals(1, demoList.get(0).intValue()); //二分查找位置 //public static int binarySearch(List<? extends Comparable<? super T>> list, T key) assertEquals(0, Collections.binarySearch(demoList, 1)); //public static int indexOfSubList(List<?> source, List<?> target) // public static int lastIndexOfSubList(List<?> source, List<?> target) }
置换
<code class="java "> @Test public void testSwap() { List demoList = new ArrayList(Arrays.asList(3, 2, 1)); //public static void swap(List<?> list, int i, int j) Collections.swap(demoList, 0, 2); assertEquals(1, demoList.get(0).intValue()); //public static void rotate(List<?> list, int distance) //指定距离轮换 //public static boolean replaceAll(List list, T oldVal, T newVal) //指定替换 }
拷贝
<code class="java "> @Test public void testCopy() { List demoList = new ArrayList(Arrays.asList(3, 2, 1)); //public static void copy(List<? super T> dest, List<? extends T> src) //注意目的List的size最少要等于src的size List copyList = new ArrayLi<span>本文来源gaodai#ma#com搞*代#码9网#</span>st(Arrays.asList(1, 2, 3)); Collections.copy(copyList, demoList); assertEquals(3, copyList.size()); assertEquals(3, copyList.get(0).intValue()); copyList.add(4); assertEquals(3, demoList.size()); }
比较
<code class="java "> @Test public void testCompary() { List demoList = new ArrayList(Arrays.asList(3, 2, 1)); assertEquals(1, Collections.min(demoList).intValue()); assertEquals(3, Collections.max(demoList).intValue()); List compareList = new ArrayList(Arrays.asList(5, 6, 7)); //Returns true if the two specified collections have no elements in common assertTrue(Collections.disjoint(demoList, compareList)); }
创造不同的集合
<code class="java "> @SuppressWarnings("unused") @Test public void testCreate() { List demoList = new ArrayList(Arrays.asList(3, 2, 1)); //空对象 size=0 无添加方法 List emptyList = Collections.emptyList(); //返回一个只包含指定对象的不可变列表。 List singletonList = Collections.singletonList(1); //返回指定列表的一个动态类型安全视图。 List checkedList = Collections.checkedList(demoList, Integer.class); //返回指定列表的不可修改视图。 List unmodifiableList = Collections.unmodifiableList(demoList); //返回指定列表支持的同步(线程安全的)列表。 List synchronizedList = Collections.synchronizedList(demoList); synchronized (synchronizedList) { Iterator i = synchronizedList.iterator(); // Must be in synchronized block while (i.hasNext()) i.next(); } //map set sortedMap sortedSet }
环境 jdk1.6 window7 junit4