`

copyOnWriteArraylist实例

 
阅读更多
package concurrent.copyOnWriteArraylist;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.concurrent.CopyOnWriteArrayList;
/**
 * CopyOnWriteArrayList功能与ArrayList类似 
 * ArrayList在对其使用的迭代器遍历期间如果对List中的内容进行修改,会抛异常
 * CopyOnWriteArrayList弥补了ArrayList的这一缺陷
 */
public class CopyOnWriteArrayListTest {
	public static void main(String[] args) {
		Collection<User> users = new CopyOnWriteArrayList<User>();
		// Collection<User> users = new ArrayList<User>();

		users.add(new User("张三", 28));
		users.add(new User("李四", 25));
		users.add(new User("王五", 31));
		Iterator<User> itrUsers = users.iterator();
		while (itrUsers.hasNext()) {
			System.out.println("aaaa");
			User user = (User) itrUsers.next();
			if ("张三".equals(user.getName())) {
				users.remove(user);
				// itrUsers.remove();
			} else {
				System.out.println(user);
			}
		}
	}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics