Java学习笔记29

ArrayList是List接口的实现类,支持List接口的全部功能,ArrayList类是基于数组实现的List类,在内部封装了一个动


态的、允许再分配的Object[]数组。ArrayList是线程不安全的,当多个线程访问同一个ArrayList集合时,如果有超过


一个线程修改了ArrayList集合,则程序必须手动保证该集合的同步性。


以下是ArrayList类的绝大部分方法:


public class Main {
	public static void main(String[] args) {
		ArrayList list=new ArrayList();
		
		
		/*
		 * boolean add(E e)  
		 * 将指定的元素添加到此列表的尾部。
		 */
		list.add("Jack");
		//输出:[Jack]
		System.out.println(list);
		
		
		
		
		/*
		 * void add(int index, E element) 
		 * 将指定的元素插入此列表中的指定位置。
		 * 向右移动当前位于该位置的元素(如果有)
		 * 以及所有后续元素(将其索引加 1)。 
		 * 如果索引超出范围 (index < 0 || index > size())
		 * 抛出IndexOutOfBoundsException异常
		 */
		list.add(1, 8);
		//输出:[Jack, 8]
		System.out.println(list);
		
		
		/*
		 * boolean addAll(Collection<? extends E> c) 
		 *  按照指定 collection 的迭代器所返回的元素顺序,
		 *  将该 collection 中的所有元素添加到此列表的尾部。
		 * 如果指定的 collection 为 null,抛出NullPointerException 异常
		 */
		ArrayList addlist= new ArrayList();
		addlist.add("Ok");
		list.addAll(addlist);
		//输出;[Jack, 8, Ok]
		System.out.println(list);
		
		
		/*
		 *  boolean addAll(int index, Collection<? extends E> c) 
		 *  从指定的位置开始,将指定 collection 中的所有元素插入到此列表中。
		 */
		list.addAll(1, addlist);
		//输出:[Jack, Ok, 8, Ok]
		System.out.println(list);
		
		
		/*
		 * Object clone() 
		 * 返回此 ArrayList 实例的浅表副本。
		 */
		ArrayList cloneList=(ArrayList) list.clone();
		cloneList.add("clone");
		//输出:[Jack, Ok, 8, Ok, clone]
		System.out.println(cloneList);
		//输出:[Jack, Ok, 8, Ok]
		System.out.println(list);
		
		
		/*
		 *  boolean contains(Object o) 
		 *  如果此列表中包含指定的元素,则返回 true。
		 */
		//输出:true
		System.out.println(list.contains("Jack"));
		
		
		
		/*
		 *  void ensureCapacity(int minCapacity) 
		 *  如有必要,增加此 ArrayList 实例的容量,
		 *  以确保它至少能够容纳最小容量参数所指定的元素数。
		 */
		list.ensureCapacity(6);
		
		
		
		/*
		 *  E get(int index)  
		 * 返回此列表中指定位置上的元素。
		 */
		//输出:Ok
		System.out.println(list.get(1));
		
		
		/*
		 *  int indexOf(Object o) 
		 *  返回此列表中首次出现的指定元素的索引,
		 *  或如果此列表不包含元素,则返回 -1。
		 */
		//输出:0
		System.out.println(list.indexOf("Jack"));
		
		
		
		
		/*
		 *  boolean isEmpty() 
		 *  如果此列表中没有元素,则返回 true
		 */
		//输出: false
		System.out.println(list.isEmpty());
		
		
		/*
		 *  int lastIndexOf(Object o) 
		 *  返回此列表中最后一次出现的指定元素的索引,
		 *  或如果此列表不包含索引,则返回 -1。
		 */
		//输出:3
		System.out.println(list.lastIndexOf("Ok"));
		
		
		
		
		/*
		 *  E remove(int index) 
		 *   移除此列表中指定位置上的元素。 
		 */
		list.remove(1);
		//输出:[Jack, 8, Ok]
		System.out.println(list);
		
		
		
		
		/*
		 * boolean remove(Object o) 
		 *  移除此列表中首次出现的指定元素(如果存在)。 
		 */
		//输出:false
		System.out.println(list.remove("A"));
		
		
		
		/*
		 *  E set(int index, E element) 
		 *    用指定的元素替代此列表中指定位置上的元素。 
		 */
		list.set(2, "Second");
		//输出:[Jack, 8, Second]
		System.out.println(list);
		
		
		
		/*
		 *  int size() 
		 *  返回此列表中的元素数。 
		 */
		//输出:3
		System.out.println(list.size());
		
		
		/*
		 *  Object[] toArray() 
		 *   按适当顺序(从第一个到最后一个元素)
		 *   返回包含此列表中所有元素的数组。 
		 */
		Object[] obj=list.toArray();
		//Jack 8 Second
		for(Object ob:obj){
			System.out.println(ob);
		}
		
		
		
		/*
		 *  void clear()  
		 *   移除此列表中的所有元素。 
		 */
		list.clear();
		//输出:[]
		System.out.println(list);
		
	}
}


转载请注明出处:http://blog.csdn.net/hai_qing_xu_kong/article/details/44119479  情绪控_ 


©️2020 CSDN 皮肤主题: 猿与汪的秘密 设计师:上身试试 返回首页