看对LinkedList的讲解的时候非常晕,于是就自己动手做做,为了加深理解。下面是简单的LinkedList实现,并不完整,只是实现了添加获取和删除。
下面是测试代码
- package LinkedListTest151026;
- import java.util.Scanner;
- public class LinkedTest {
-
-
- public static void main(String[] args) {
- //创建Node对象
- Node n = new Node();
- //像Node链n中添加对象
- n.add("wos loves life");
- n.add("mylover");
- n.add("66");
- n.add("yanhua");
- //当前链表内容
- LinkedTest.showNode(n);
-
- System.out.println();
- //输出n,可以看到n是一个地址。
- System.out.println(n);
- //测试获取方法,从控制台输入index
- String s = (String) n.get(0);
- System.out.println(s);
- //测试获取方法,既定index2
- s = (String) n.get(2);
- System.out.println(s);
-
-
-
- System.out.println("-------------------------");
-
- //测试remove
- System.out.println(n.size);//当前链表大小,4
- n.remove(1);
- s=(String)n.get(1);//删除第二个元素
- System.out.println(s+"\r"+n.size);//当前大小,3
-
- System.out.println("-------------------------");
-
- /*调用工具方法遍历链表中的元素
- (因为我添加的时候都是Stirng,所以强转为了String)
- 如果是多种类型对象,就不能这样遍历。*/
- LinkedTest.showNode(n);
-
- System.out.println("-------------------------");
-
- //测试删除第一个,当前第一个是wos loves life
- n.remove(0);
- LinkedTest.showNode(n);
- //测试删除最后一个,当前最后一个是yanhua
- n.remove(1);
- LinkedTest.showNode(n);
-
-
- }
-
-
- public static void showNode(Node n){
- Node temp = n.first;
- String s;
- s =(String)temp.obj;
- System.out.println(s);
- for (int i = 1; i <n.size ; i++) {
-
- temp = temp.next;
- s = (String)temp.obj;
- System.out.println(s);
- }
- System.out.println("-------------------------");
- }
-
- }
复制代码
|
|