JAVA集合类(二):JAVA集合类框架,各种List
JAVA集合类(2):JAVA集合类框架,各种List
ArrayList:
注意其toArray()方法返回的是一个Object[]数组,不能强制转换成其它类型。例如:
Person[] persons = (Person[])list.toArray();
因为Person[]不继承自Object[],只继承自Object;
实现一个单向链表
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下一节点的下一节点 } }