java.util.concurrent.CopyOnWriteArrayList#addAll ( )源码实例Demo

下面列出了java.util.concurrent.CopyOnWriteArrayList#addAll ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: diamond   文件: DefaultSubscriberListener.java
/**
 * 添加一个DataID对应的一些ManagerListener
 * 
 * @param dataId
 * @param addListeners
 */
public void addManagerListeners(String dataId, String group, List<ManagerListener> addListeners) {
    if (null == dataId || null == addListeners) {
        return;
    }
    if (addListeners.size() == 0) {
        return;
    }

    String key = makeKey(dataId, group);
    CopyOnWriteArrayList<ManagerListener> listenerList = allListeners.get(key);
    if (listenerList == null) {
        listenerList = new CopyOnWriteArrayList<ManagerListener>();
        CopyOnWriteArrayList<ManagerListener> oldList = allListeners.putIfAbsent(key, listenerList);
        if (oldList != null) {
            listenerList = oldList;
        }
    }
    listenerList.addAll(addListeners);
}
 
源代码2 项目: diamond   文件: DefaultSubscriberListener.java
/**
 * 添加一个DataID对应的一些ManagerListener
 * 
 * @param dataId
 * @param addListeners
 */
public void addManagerListeners(String dataId, String group, List<ManagerListener> addListeners) {
    if (null == dataId || null == addListeners) {
        return;
    }
    if (addListeners.size() == 0) {
        return;
    }

    String key = makeKey(dataId, group);
    CopyOnWriteArrayList<ManagerListener> listenerList = allListeners.get(key);
    if (listenerList == null) {
        listenerList = new CopyOnWriteArrayList<ManagerListener>();
        CopyOnWriteArrayList<ManagerListener> oldList = allListeners.putIfAbsent(key, listenerList);
        if (oldList != null) {
            listenerList = oldList;
        }
    }
    listenerList.addAll(addListeners);
}
 
源代码3 项目: muJava   文件: doRandomGivenPercentMutants.java
/**
 * Gets the minimal tests.
 * 
 * @param testSets
 *            the test sets
 * @return the minimal tests
 */
private static CopyOnWriteArrayList<ArrayList<String>> getMinimalTests(CopyOnWriteArrayList<ArrayList<String>> testSets) {
	CopyOnWriteArrayList<ArrayList<String>> result = new CopyOnWriteArrayList<>();
	List<ArrayList<String>> testSets2 = new CopyOnWriteArrayList<ArrayList<String>>();
	List<ArrayList<String>> testSets3 = new CopyOnWriteArrayList<ArrayList<String>>();
	testSets2.addAll(testSets);
	testSets3.addAll(testSets);
	for (ArrayList<String> test : testSets3) {
		for (ArrayList<String> test2 : testSets2) {
			if (test.containsAll(test2) && !test2.containsAll(test)) {
				testSets.remove(test);
				testSets2.remove(test);
				testSets3.remove(test);
				System.out.println("remove test "+test);
				break;
			}
		}
	}
	result.addAll(testSets);
	return result;
}
 
源代码4 项目: openjdk-jdk9   文件: Test6895383.java
public void testAddAll1_IndexOutOfBoundsException() {
    try {
        CopyOnWriteArrayList c = new CopyOnWriteArrayList();
        c.addAll(-1, new LinkedList()); // should throw IndexOutOfBoundsException
    } catch (IndexOutOfBoundsException e) {
    }
}
 
源代码5 项目: j2objc   文件: CopyOnWriteArrayListTest.java
public void testIteratorAndNonStructuralChanges() {
    CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<String>();
    list.addAll(Arrays.asList("a", "b", "c", "d", "e"));
    Iterator<String> abcde = list.iterator();
    assertEquals("a", abcde.next());
    list.set(1, "B");
    assertEquals("b", abcde.next());
    assertEquals("c", abcde.next());
    assertEquals("d", abcde.next());
    assertEquals("e", abcde.next());
}
 
源代码6 项目: j2objc   文件: CopyOnWriteArrayListTest.java
/**
 * The sub list throws on non-structural changes, even though that disagrees
 * with the subList() documentation which suggests that only size-changing
 * operations will trigger ConcurrentModificationException.
 */
public void testSubListAndNonStructuralChanges() {
    CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<String>();
    list.addAll(Arrays.asList("a", "b", "c", "d", "e"));
    List<String> bcd = list.subList(1, 4);
    list.set(2, "C");
    try {
        bcd.get(1);
        fail();
    } catch (ConcurrentModificationException expected) {
    }
}
 
源代码7 项目: j2objc   文件: CopyOnWriteArrayListTest.java
public void testSubListAndStructuralChanges() {
    CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<String>();
    list.addAll(Arrays.asList("a", "b", "c", "d", "e"));
    List<String> bcd = list.subList(1, 4);
    list.clear();
    try {
        bcd.get(1);
        fail();
    } catch (ConcurrentModificationException expected) {
    }
}
 
源代码8 项目: j2objc   文件: CopyOnWriteArrayListTest.java
public void testSubListAndSizePreservingStructuralChanges() {
    CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<String>();
    list.addAll(Arrays.asList("a", "b", "c", "d", "e"));
    List<String> bcd = list.subList(1, 4);
    list.clear();
    list.addAll(Arrays.asList("A", "B", "C", "D", "E"));
    try {
        bcd.get(1);
        fail();
    } catch (ConcurrentModificationException expected) {
    }
}
 
源代码9 项目: j2objc   文件: CopyOnWriteArrayListTest.java
public void testRemoveAll() {
    CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<String>();
    list.addAll(Arrays.asList("a", "b", "c", "d", "e"));

    list.removeAll(Arrays.asList());
    assertEquals(Arrays.asList("a", "b", "c", "d", "e"), list);

    list.removeAll(Arrays.asList("e"));
    assertEquals(Arrays.asList("a", "b", "c", "d"), list);

    list.removeAll(Arrays.asList("b", "c"));
    assertEquals(Arrays.asList("a", "d"), list);
}
 
源代码10 项目: j2objc   文件: CopyOnWriteArrayListTest.java
public void testSubListClear() {
    CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<String>();
    list.addAll(Arrays.asList("a", "b", "c", "d", "e"));
    List<String> bcd = list.subList(1, 4);
    bcd.clear();
    assertEquals(Arrays.asList("a", "e"), list);
    bcd.addAll(Arrays.asList("B", "C", "D"));
    assertEquals(Arrays.asList("a", "B", "C", "D", "e"), list);
}
 
源代码11 项目: j2objc   文件: CopyOnWriteArrayListTest.java
public void testSubListIteratorGetsSnapshot() {
    CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<String>();
    list.addAll(Arrays.asList("a", "b", "c", "d", "e"));
    Iterator<String> bcd = list.subList(1, 4).iterator();
    list.clear();
    assertEquals("b", bcd.next());
    assertEquals("c", bcd.next());
    assertEquals("d", bcd.next());
    assertFalse(bcd.hasNext());
}
 
源代码12 项目: j2objc   文件: CopyOnWriteArrayListTest.java
public void testSubListRemoveByValue() {
    CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<String>();
    list.addAll(Arrays.asList("a", "b", "c", "d", "e"));
    List<String> bcd = list.subList(1, 4);
    bcd.remove("c"); // the RI fails here
    assertEquals(Arrays.asList("b", "d"), bcd);
    assertEquals(Arrays.asList("a", "b", "d", "e"), list);
}
 
源代码13 项目: j2objc   文件: CopyOnWriteArrayListTest.java
public void testSubListRemoveByIndex() {
    CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<String>();
    list.addAll(Arrays.asList("a", "b", "c", "d", "e"));
    List<String> bcd = list.subList(1, 4);
    bcd.remove(1);
    assertEquals(Arrays.asList("b", "d"), bcd);
    assertEquals(Arrays.asList("a", "b", "d", "e"), list);
}
 
源代码14 项目: j2objc   文件: CopyOnWriteArrayListTest.java
public void testSubListRetainAll() {
    CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<String>();
    list.addAll(Arrays.asList("a", "b", "c", "d", "e", "f", "g", "h", "i"));
    List<String> def = list.subList(3, 6);
    def.retainAll(Arrays.asList("c", "e", "h")); // the RI fails here
    assertEquals(Arrays.asList("a", "b", "c", "e", "g", "h", "i"), list);
    assertEquals(Arrays.asList("e"), def);
}
 
源代码15 项目: j2objc   文件: CopyOnWriteArrayListTest.java
public void testSubListRemoveAll() {
    CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<String>();
    list.addAll(Arrays.asList("a", "b", "c", "d", "e", "f", "g", "h", "i"));
    List<String> def = list.subList(3, 6);
    def.removeAll(Arrays.asList("c", "e", "h"));  // the RI fails here
    assertEquals(Arrays.asList("a", "b", "c", "d", "f", "g", "h", "i"), list);
    assertEquals(Arrays.asList("d", "f"), def);
}
 
源代码16 项目: j2objc   文件: CopyOnWriteArrayListTest.java
public void testSubListAddIsAtEnd() {
    CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<String>();
    list.addAll(Arrays.asList("a", "b", "c", "d", "e"));
    List<String> bcd = list.subList(1, 4);
    bcd.add("f");
    assertEquals(Arrays.asList("a", "b", "c", "d", "f", "e"), list);
    assertEquals(Arrays.asList("b", "c", "d", "f"), bcd);
}
 
源代码17 项目: j2objc   文件: CopyOnWriteArrayListTest.java
public void testSubListAddAll() {
    CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<String>();
    list.addAll(Arrays.asList("a", "b", "c", "d", "e"));
    List<String> bcd = list.subList(1, 4);
    bcd.addAll(1, Arrays.asList("f", "g", "h", "i"));
    assertEquals(Arrays.asList("a", "b", "f", "g", "h", "i", "c", "d", "e"), list);
    assertEquals(Arrays.asList("b", "f", "g", "h", "i", "c", "d"), bcd);
}
 
源代码18 项目: j2objc   文件: CopyOnWriteArrayListTest.java
public void testListIterator() {
    CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<String>();
    list.addAll(Arrays.asList("a", "b", "c", "d", "e"));
    ListIterator<String> i = list.listIterator(5);
    list.clear();

    assertEquals(5, i.nextIndex());
    assertEquals(4, i.previousIndex());
    assertEquals("e", i.previous());
    assertEquals(4, i.nextIndex());
    assertEquals(3, i.previousIndex());
    assertTrue(i.hasNext());
    assertTrue(i.hasPrevious());
    assertEquals("d", i.previous());
    assertEquals(3, i.nextIndex());
    assertEquals(2, i.previousIndex());
    assertTrue(i.hasNext());
    assertTrue(i.hasPrevious());
    assertEquals("c", i.previous());
    assertEquals(2, i.nextIndex());
    assertEquals(1, i.previousIndex());
    assertTrue(i.hasNext());
    assertTrue(i.hasPrevious());
    assertEquals("b", i.previous());
    assertEquals(1, i.nextIndex());
    assertEquals(0, i.previousIndex());
    assertTrue(i.hasNext());
    assertTrue(i.hasPrevious());
    assertEquals("a", i.previous());
    assertEquals(0, i.nextIndex());
    assertEquals(-1, i.previousIndex());
    assertTrue(i.hasNext());
    assertFalse(i.hasPrevious());
    try {
        i.previous();
        fail();
    } catch (NoSuchElementException expected) {
    }
}