package com.mmz.csdn.demo1;
import java.util.*;
public class Demo1 {
public static void main(String[] args)
{
int i=0,j=0,len=0;
long timestamp=0L;
List<String> list=new ArrayList<String>();
fillList(100000,list);
//List遍历方法1 迭代遍历 效率较差
Iterator<String> iterator_list=list.iterator();
while(iterator_list.hasNext()) {
System.out.println(iterator_list.next());
}
//List遍历方法2 普遍使用,效率最高
for(i=0,len=list.size();i<len;i++) {
System.out.println(list.get(i));
}
//List遍历方法3 比方法稍微慢,测试类型是基本类型,数据量在10万条以上基本持平
for(String element:list) {
System.out.println(element);
}
Set<String> set=new HashSet<String>();
fillSet(100000,set);
//Set遍历方法1 迭代遍历 效率稍低
Iterator<String> iterator_set=set.iterator();
while(iterator_set.hasNext()) {
System.out.println(iterator_set.next());
}
//Set遍历方法2 效率最高
for(String element:set) {
System.out.println(element);
}
Map<String,String> map=new HashMap<String,String>();
fillMap(100000,map);
//普遍使用,二次取值
for (String key : map.keySet()) {
System.out.println(key + map.get(key));
}
//通过Map.entrySet使用iterator遍历key和value
Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, String> entry = iterator.next();
System.out.println(entry.getKey() + entry.getValue());
}
//通过Map.entrySet遍历key和value(推荐容量大时使用)
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println(entry.getKey() + entry.getValue());
}
System.out.println(System.currentTimeMillis()-timestamp);
//通过Map.values()遍历所有的value,但不能遍历key
for (String value : map.values()) {
System.out.println(value);
}
}
private static <T> void fillList(int size,List<T> list) {
for(int i=0;i<size;i++) {
list.add((T) String.valueOf(i));
}
}
private static <T> void fillSet(int size,Set<T> list) {
for(int i=0;i<size;i++) {
list.add((T) String.valueOf(i));
}
}
private static void fillMap(int size,Map<String,String> map) {
for(int i=0;i<size;i++) {
map.put(String.valueOf(i), String.valueOf(i));
}
}
}
java中Map,Iterator,List遍历方法
最新推荐文章于 2024-08-01 15:05:06 发布