Java工具类--List集合(二)

/**
 * List:
 *  |--ArrayList
 *  |--LinkedList
 *  
 *  LinkedList集合特点:
 *  1.List 接口的链接列表实现,实现所有可选的列表操作。
 *  2.除了实现 List 接口外,LinkedList 类还为在列表的开头及结尾 get、remove 和 insert 元素提供了方法。
 *  3.这些操作允许将链接列表用作堆栈、队列或双端队列。
 *  4.此实现不是同步的
 *
 */
public class LinkedListDemo {

	public static void main(String[] args) {
		LinkedList<String> li = new LinkedList<>();
		LinkedList<Personnel> lp = new LinkedList<>();
		fonctions(li);
		fonctionp(lp);
	}
	
	private static void fonctions(LinkedList<String> li) {
		//添加数据
		li.add("小明");
		li.add("小鹏");
		li.add("小芳");
		li.add("小莉");
		li.addFirst("小平");
		li.addFirst("小强");
		li.addFirst("小邓");
		System.out.print("数据源:"+li+" \n");

		//获取头元素,但是不删除
		System.out.println("获取头元素:"+li.getFirst());
		//获取头元素,但删除
		System.out.println("获取头元素:"+li.removeFirst());

		System.out.println("操作后数据源:"+li);
		//迭代方法
		iterators(li);
	}
	
	private static void fonctionp(LinkedList<Personnel> lp) {
		Personnel p = new Personnel("xiaofang",18);
		//添加对象
		lp.add(new Personnel("zhangsan",10));
		lp.add(new Personnel("lisi",20));
		lp.add(new Personnel("wangwu",30));
		lp.addFirst(p);
		System.out.print("数据源:"+lp+" \n");

		//获取头元素,但是不删除
		System.out.println("获取头元素:"+lp.getFirst());
		//获取头元素,但删除
		System.out.println("获取头元素:"+lp.removeFirst());

		System.out.println("操作后数据源:"+lp);
		//迭代方法
		iteratorp(lp);
	}
	
	private static void iteratorp(LinkedList<Personnel> lp) {
		Iterator<Personnel> it = lp.iterator();
		System.out.println("迭代器数据:");
		while(it.hasNext()){
			System.out.println(it.next());
		}
	}

	private static void iterators(LinkedList<String> li) {
		Iterator<String> it = li.iterator();
		System.out.println("迭代器数据:");
		while(it.hasNext()){
			System.out.println(it.next());
		}
	}
}
/**
 * 总结:
 * 1,LinkedList是链表结构,增删数据速度快。
 * 2,特有操作数据位置方法最快(addFirst、removeFirst......)。
 */

运行结果:
数据源:[小邓, 小强, 小平, 小明, 小鹏, 小芳, 小莉] 
获取头元素:小邓
获取头元素:小邓
操作后数据源:[小强, 小平, 小明, 小鹏, 小芳, 小莉]
迭代器数据:
小强
小平
小明
小鹏
小芳
小莉
数据源:[xiaofang:18, zhangsan:10, lisi:20, wangwu:30] 
获取头元素:xiaofang:18
获取头元素:xiaofang:18
操作后数据源:[zhangsan:10, lisi:20, wangwu:30]
迭代器数据:
zhangsan:10
lisi:20

wangwu:30

Api方法摘要:

类 LinkedList<E>

java.lang.Object
  |--java.util.AbstractCollection<E>
      |--java.util.AbstractList<E>
          |--java.util.AbstractSequentialList<E>
              |--java.util.LinkedList<E>
构造方法摘要
LinkedList() 
          构造一个空列表。
LinkedList(Collection<? extends E> c) 
          构造一个包含指定 collection 中的元素的列表,这些元素按其 collection 的迭代器返回的顺序排列。
方法摘要
 boolean add(E e) 
          将指定元素添加到此列表的结尾。
 void add(int index, E element) 
          在此列表中指定的位置插入指定的元素。
 boolean addAll(Collection<? extends E> c) 
          添加指定 collection 中的所有元素到此列表的结尾,顺序是指定 collection 的迭代器返回这些元素的顺序。
 boolean addAll(int index, Collection<? extends E> c) 
          将指定 collection 中的所有元素从指定位置开始插入此列表。
 void addFirst(E e) 
          将指定元素插入此列表的开头。
 void addLast(E e) 
          将指定元素添加到此列表的结尾。
 void clear() 
          从此列表中移除所有元素。
 Object clone() 
          返回此 LinkedList 的浅表副本。
 boolean contains(Object o) 
          如果此列表包含指定元素,则返回 true
 Iterator<E> descendingIterator() 
          返回以逆向顺序在此双端队列的元素上进行迭代的迭代器。
 E element() 
          获取但不移除此列表的头(第一个元素)。
 E get(int index) 
          返回此列表中指定位置处的元素。
 E getFirst() 
          返回此列表的第一个元素。
 E getLast() 
          返回此列表的最后一个元素。
 int indexOf(Object o) 
          返回此列表中首次出现的指定元素的索引,如果此列表中不包含该元素,则返回 -1。
 int lastIndexOf(Object o) 
          返回此列表中最后出现的指定元素的索引,如果此列表中不包含该元素,则返回 -1。
 ListIterator<E> listIterator(int index) 
          返回此列表中的元素的列表迭代器(按适当顺序),从列表中指定位置开始。
 boolean offer(E e) 
          将指定元素添加到此列表的末尾(最后一个元素)。
 boolean offerFirst(E e) 
          在此列表的开头插入指定的元素。
 boolean offerLast(E e) 
          在此列表末尾插入指定的元素。
 E peek() 
          获取但不移除此列表的头(第一个元素)。
 E peekFirst() 
          获取但不移除此列表的第一个元素;如果此列表为空,则返回 null
 E peekLast() 
          获取但不移除此列表的最后一个元素;如果此列表为空,则返回 null
 E poll() 
          获取并移除此列表的头(第一个元素)
 E pollFirst() 
          获取并移除此列表的第一个元素;如果此列表为空,则返回 null
 E pollLast() 
          获取并移除此列表的最后一个元素;如果此列表为空,则返回 null
 E pop() 
          从此列表所表示的堆栈处弹出一个元素。
 void push(E e) 
          将元素推入此列表所表示的堆栈。
 E remove() 
          获取并移除此列表的头(第一个元素)。
 E remove(int index) 
          移除此列表中指定位置处的元素。
 boolean remove(Object o) 
          从此列表中移除首次出现的指定元素(如果存在)。
 E removeFirst() 
          移除并返回此列表的第一个元素。
 boolean removeFirstOccurrence(Object o) 
          从此列表中移除第一次出现的指定元素(从头部到尾部遍历列表时)。
 E removeLast() 
          移除并返回此列表的最后一个元素。
 boolean removeLastOccurrence(Object o) 
          从此列表中移除最后一次出现的指定元素(从头部到尾部遍历列表时)。
 E set(int index, E element) 
          将此列表中指定位置的元素替换为指定的元素。
 int size() 
          返回此列表的元素数。
 Object[] toArray() 
          返回以适当顺序(从第一个元素到最后一个元素)包含此列表中所有元素的数组。
<T> T[]
toArray(T[] a) 
          返回以适当顺序(从第一个元素到最后一个元素)包含此列表中所有元素的数组;返回数组的运行时类型为指定数组的类型。

猜你喜欢

转载自blog.csdn.net/u013251413/article/details/80670004