JAVA集合类(二):JAVA集合类框架,各种List

JAVA集合类(2):JAVA集合类框架,各种List

JAVA集合类(二):JAVA集合类框架,各种List

JAVA集合类(二):JAVA集合类框架,各种List

 

ArrayList:

JAVA集合类(二):JAVA集合类框架,各种List

注意其toArray()方法返回的是一个Object[]数组,不能强制转换成其它类型。例如:

Person[] persons = (Person[])list.toArray();

因为Person[]不继承自Object[],只继承自Object;

 

JAVA集合类(二):JAVA集合类框架,各种List

 

JAVA集合类(二):JAVA集合类框架,各种List

JAVA集合类(二):JAVA集合类框架,各种List

JAVA集合类(二):JAVA集合类框架,各种List

 

 

实现一个单向链表

package com.test.array;

public class Node {
	Node next;//存放下一节点的引用
	String data;//存放数据

	public Node(String data) {
		this.data = data;
	}
	
}

 

package com.test.array;

public class NodeTest {
	public static void main(String[] args) {
		Node node1 = new Node("node1");
		Node node2 = new Node("node2");
		Node node3 = new Node("node3");
		
		node1.next = node2;
		node2.next = node3;
		
		System.out.println(node1.next.next.data); //打印节点1下一节点的下一节点
		
		node1.next = node3;//将node2删除
		System.out.println(node1.next.data);
	}
}

 

双向链表:

package com.test.array;

public class Node {
	Node previous;// 存放上一节点的引用
	String data;// 存放数据
	Node next;// 存放下一节点的引用

	public Node(String data) {
		this.data = data;
	}

}

 

package com.test.array;

public class NodeTest {
	public static void main(String[] args) {
		Node node1 = new Node("node1");
		Node node2 = new Node("node2");
		Node node3 = new Node("node3");
		
		node1.next = node2;
		node2.previous = node1;
		node2.next = node3;
		node3.previous = node2;
		node3.next = node1;
		node1.previous = node3;
		
		System.out.println(node1.next.next.data); //打印节点1下一节点的下一节点
		
		//删除node2
		node1.next = node3;
		node3.previous = node1;
		System.out.println(node1.next.data); //打印节点1下一节点的下一节点
	}
}

 

 JAVA集合类(二):JAVA集合类框架,各种List