List<String> list = new ArrayList<String>(); for (String s : string) { list.add(s); } System.out.println("List执行结果:"); for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); }
// Set<String> set = new HashSet<String>(); for (String s : string) { set.add(s); } Iterator iterator = set.iterator(); System.out.println("==================="); System.out.println("Set 执行结果:"); while (iterator.hasNext()) { System.out.println(iterator.next()); } }
```
运行结果:
```cte List执行结果: i am am xiao ming =================== Set 执行结果: ming xiao i am
// overflow-conscious code if (minCapacity - elementData.length > 0) grow(minCapacity); } privatevoidgrow(int minCapacity){ // overflow-conscious code int oldCapacity = elementData.length; int newCapacity = oldCapacity + (oldCapacity >> 1); if (newCapacity - minCapacity < 0) newCapacity = minCapacity; if (newCapacity - MAX_ARRAY_SIZE > 0) newCapacity = hugeCapacity(minCapacity); // minCapacity is usually close to size, so this is a win: elementData = Arrays.copyOf(elementData, newCapacity); }
//测试Edit finalint N = 50000; Integer vals[] = new Integer[N]; Random r = new Random(); for (int i = 0, currval = 0; i < N; i++) { currval += r.nextInt(100) + 1; vals[i] = new Integer(currval); } List lst = Arrays.asList(vals); System.out.println("ArrayList Search耗时:" + SearchList(new ArrayList(lst))); System.out.println("LinkedList Search耗时:" + SearchList(new LinkedList(lst))); } longAddList(List list){ finalint N = 50000; long start = System.currentTimeMillis(); Object o = new Object(); for (int i = 0; i < N; i++) list.add(0, o); return System.currentTimeMillis() - start; }
longSearchList(List lst){ finalint N = 50000; long start = System.currentTimeMillis(); for (int i = 0; i < N; i++) { int index = Collections.binarySearch(lst, lst.get(i)); if (index != i) System.out.println("***错误***"); } return System.currentTimeMillis() - start; } ```