java进阶04 集合类LinkedList
LinkedList
LinkedList与ArrayList没多大区别
区别在于add的时候的两个方法
AddFirst和AddLast
当然 还比ArrayList多了很多方法这里就不细讨论(因为我也没去查api看那几个函数是什么意思...)
package ArrayList; import java.util.LinkedList; public class LinkedList1 { public static void main(String[] args){ LinkedList<Student> linked=new LinkedList<Student>(); Student s1=new Student("Joker", "boy", "25"); Student s2=new Student("Alice", "girl", "18"); Student s3=new Student("Rem", "boy", "21"); linked.addFirst(s1); linked.addFirst(s2); linked.addFirst(s3); //后进先出 跟栈一样 //遍历 for(int i=0;i<linked.size();i++){ System.out.println("第"+(i+1)+"个学生的姓名->"+linked.get(i).getName()); System.out.println("第"+(i+1)+"个学生的性别->"+linked.get(i).getSex()); System.out.println("第"+(i+1)+"个学生的年龄->"+linked.get(i).getAge()); System.out.println(); } } }
输出结果:
第1个学生的姓名->Rem
第1个学生的性别->boy
第1个学生的年龄->21
第2个学生的姓名->Alice
第2个学生的性别->girl
第2个学生的年龄->18
第3个学生的姓名->Joker
第3个学生的性别->boy
第3个学生的年龄->25
这里可以看出来 这货就是栈...明细的后进先出
除了get()方法可以获取,还有getFirst和getLast
package ArrayList; import java.util.LinkedList; public class LinkedList1 { public static void main(String[] args){ LinkedList<Student> linked=new LinkedList<Student>(); Student s1=new Student("Joker", "boy", "25"); Student s2=new Student("Alice", "girl", "18"); Student s3=new Student("Rem", "boy", "21"); linked.addFirst(s1); linked.addFirst(s2); linked.addFirst(s3); //后进先出 跟栈一样 //遍历 for(int i=0;i<linked.size();i++){ /*System.out.println("第"+(i+1)+"个学生的姓名->"+linked.get(i).getName()); System.out.println("第"+(i+1)+"个学生的性别->"+linked.get(i).getSex()); System.out.println("第"+(i+1)+"个学生的年龄->"+linked.get(i).getAge());*/ System.out.println("第"+(i+1)+"个学生的姓名->"+linked.getFirst().getName()); System.out.println(); } } }
输出结果:
第1个学生的姓名->Rem
第2个学生的姓名->Rem
第3个学生的姓名->Rem
为什么呢? 这是肯定的,因为你又没有删除过最后一个元素,所以获得的值是一样的。
其实,这个getFirst和getLast不会用了遍历的,只是用来去第一个和最后一个的值。
同理addLast,就是先进先出 就是队列...
package ArrayList; import java.util.LinkedList; public class LinkedList1 { public static void main(String[] args){ LinkedList<Student> linked=new LinkedList<Student>(); Student s1=new Student("Joker", "boy", "25"); Student s2=new Student("Alice", "girl", "18"); Student s3=new Student("Rem", "boy", "21"); /* linked.addFirst(s1); linked.addFirst(s2); linked.addFirst(s3);*/ //后进先出 跟栈一样 linked.addLast(s1); linked.addLast(s2); linked.addLast(s3); //先进先出 跟队列一样 //遍历 for(int i=0;i<linked.size();i++){ System.out.println("第"+(i+1)+"个学生的姓名->"+linked.get(i).getName()); System.out.println("第"+(i+1)+"个学生的性别->"+linked.get(i).getSex()); System.out.println("第"+(i+1)+"个学生的年龄->"+linked.get(i).getAge()); /*System.out.println("第"+(i+1)+"个学生的姓名->"+linked.getFirst().getName());*/ System.out.println(); } } }
输出结果:
第1个学生的姓名->Joker
第1个学生的性别->boy
第1个学生的年龄->25
第2个学生的姓名->Alice
第2个学生的性别->girl
第2个学生的年龄->18
第3个学生的姓名->Rem
第3个学生的性别->boy
第3个学生的年龄->21
java进阶 集合类LinkedList笔记到此结束。
good good stady
day day up