JAVA-初步认识-常用对象API(集合框架-LinkedList集合)

时间:2021-01-15 17:52:54

一.

接下来讲述另外一个,看一下框架中有哪些?

JAVA-初步认识-常用对象API(集合框架-LinkedList集合)

先说LinkedList,ArrayList有机会再说。ArrayList就是数组,没什么好说的。

JAVA-初步认识-常用对象API(集合框架-LinkedList集合)

JAVA-初步认识-常用对象API(集合框架-LinkedList集合)

List下面有个小弟,就是LinkedList,也就是链表。

JAVA-初步认识-常用对象API(集合框架-LinkedList集合)

一般方法中有两个addFirst和addLast,这是链表特有的。如果你手里面有一个链子的话,中间的环是一个扣一个,要是添加的话,从头或者尾操作是最方便的。

因此,提供了头或者尾添加的方法。

链表对外直接操作最明显的就是头和尾,

JAVA-初步认识-常用对象API(集合框架-LinkedList集合)

LinkedList属于迭代器,输出的结果就是倒过来的。

JAVA-初步认识-常用对象API(集合框架-LinkedList集合)

为什么输出结果是这样的?非常简单。接着说一些小东西。

JAVA-初步认识-常用对象API(集合框架-LinkedList集合)

JAVA-初步认识-常用对象API(集合框架-LinkedList集合)

从结果来看,getFirst方法是输出,不会对容器造成损失,不同于迭代器。

这个操作是获取第一个元素,但不删除。同时,也具备删除的方法。

removefirst也会往外面返,谁被删除,谁就往外返。

JAVA-初步认识-常用对象API(集合框架-LinkedList集合)

JAVA-初步认识-常用对象API(集合框架-LinkedList集合)

remove会改变长度的,removefist也是获取元素,但是会删除。

这两个方法的区别就在于一个删除,一个不删除。

按照删除的方法,就可以获取LinkedList中所有的元素,不用迭代器。获取一个删一个,删光了就不再获取了。

怎么判断呢?只要有元素我就拿,或者说删,删到里面没有为止,这个方法就是Isempty。

JAVA-初步认识-常用对象API(集合框架-LinkedList集合)

JAVA-初步认识-常用对象API(集合框架-LinkedList集合)

再换成removeLast方法,就变成了输入1.2.3.4,输出也是1.2.3.4;改成removeFirst方法就是存储是1,2,3,4,输出则是4,3,2,1。

JAVA-初步认识-常用对象API(集合框架-LinkedList集合)

package collectionsDemo;

import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

public class LinkedListDemo {

	public static void main(String[] args) {
		
		LinkedList link = new LinkedList();
		
		link.addFirst("abc1");
		link.addFirst("abc2");
		link.addFirst("abc3");
		link.addFirst("abc4");
		
		System.out.println(link.getFirst());//abc4
		
		System.out.println(link.getLast());//abc1
		
		System.out.println(link.removeFirst());//返回abc4
		//获取元素但会删除
		//[abc3, abc2, abc1]
		System.out.println(link);
		
//		Iterator it = link.iterator();
//		
//		while (it.hasNext()) {
//			System.out.println(it.next());			
//		}
		
		while (!link.isEmpty()) {
			System.out.println(link.removeFirst());
//			abc3
//			abc2
//			abc1
		}

	}

}