- java中链表的基本结构
public class LNode {
public String data;//节点数据
LNode next;//下一个节点 }
这是最基本的链表结构!如果链表是自定义的节点类型,则根据定义不同来进行循环操作!
- java集合框架
1.所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。
2. Collection 接口是一组允许重复的对象。
3. Set 接口继承 Collection,集合元素不重复。
4. List 接口继承 Collection,允许重复,维护元素插入顺序。
5. Map接口是键-值对象,与Collection接口没有什么关系。
6.Set、List和Map可以看做集合的三大类:
List集合是有序集合,集合中的元素可以重复,访问集合中的元素可以根据元素的索引来访问。
Set集合是无序集合,集合中的元素不可以重复,访问集合中的元素只能根据元素本身来访问(也是集合里元素不允许重复的原因)。Map集合中保存Key-value对形式的元素,访问时只能根据每项元素的key来访问其value。
- 三种遍历集合框架的常见方法以list为例
import java.util.*;
public class 遍历链表的三种基本方法 {
public static void main(String[] args) {
LinkedList<String> list=new LinkedList<String>();
for(int i=0;i<80000;i++)
list.add("a"+i);
long starttime=System.currentTimeMillis();
for(int i=0;i<list.size();i++) {
String arg=list.get(i);
}
long endtime=System.currentTimeMillis();
long resault=endtime-starttime;
System.out.println("使用get()方法便利集合使用时间为:"+resault);
long starttime2=System.currentTimeMillis();
for(String bString:list) {
String arg=bString;
}
long endtime2=System.currentTimeMillis();
long resault2=endtime2-starttime2;
Iterator<String> iterator=list.iterator();
System.out.println("使用foreach方法便利集合使用时间为:"+resault2);
long starttime3=System.currentTimeMillis();
while(iterator.hasNext()) {
String arg=iterator.next();
}
long endtime3=System.currentTimeMillis();
long resault3=(endtime3-starttime3);
System.out.println("使用迭代器遍历所有集合使用时间为:"+resault3);
}
}