List
ArrayList
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* <b>Application describing:List添加元素及遍历</b> <br>
* 创建一个ArrayList集合对象,并为这个集合添加元素。
采用两种方式获取集合中的对象。
*/
public class ListOperator
{
/**
*
* {ArrayList的操作}
*
*/
public static void main(String[] args)
{
List<String> list=new ArrayList<String>();//创建ArrayList
list.add("1");
list.add("2");
list.add("3");
//for循环遍历list注意跟这种写的区别:for(int i=0;i<list.size();i++)
for(int i=0,n=list.size();i<n;i++)
{
String element=list.get(i);
System.out.print(element+",");
}
System.out.println();
Iterator<String> ite=list.iterator();
//迭代器遍历
while(ite.hasNext())
{
String str=ite.next();
System.out.print(str+",");
}
}
/**
*
* {方法功能中文描述}
*
* @param list
* @author:张阳
*/
public void test(List<String> list)
{
for(int i=0,n=list.size();i<n;i++)
{
String element=(String) list.get(i);
System.out.print(element+",");
}
System.out.println();
Iterator<String> ite=list.iterator();
//迭代器遍历
while(ite.hasNext())
{
String str=(String)ite.next();
System.out.print(str+",");
}
}
}
LinkList
import java.util.LinkedList;
/**
*
* 请使用LinkedList来模拟一个队列(先进先出的特性)。拥有
放入对象的方法void put(Object o)、
取出对象的方法Object get()、
判断队列当中是否为空的方法boolean isEmpty();
*/
public class MyQueue<T>
{
private LinkedList<T> linkList = new LinkedList<T>();
/**
*
* {判断队列当中是否为空的方法}
*
*/
public boolean isEmpty()
{
return linkList.isEmpty();
}
/**
*
* {放入对象的方法,列是先进先出的,入队列的数据存在头部}
*
*/
public void put(T obj)
{
linkList.addFirst(obj);
}
/**
*
* {取出对象的方法,队列是先进先出的,取出时从尾部取出}
* removeLast和getLast有什么区别
*/
public T get()
{
return linkList.removeLast();
}
public static void main(String[] args)
{
MyQueue<String> myQueue = new MyQueue<String>();
myQueue.put("1");
myQueue.put("2");
myQueue.put("3");
while (!myQueue.isEmpty())
{
System.out.print(myQueue.get() + ",");
}
}
}
Map和List
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* <b>Application describing:Map和List比较,初始化速度,查询速度</b> <br>
*/
public class MapAndList
{
private static int COUNT=100000;
private static int[] IDS=new int[COUNT/10];
static
{
for(int i=0;i<IDS.length;i++)
{
IDS[i]=i;
}
}
public static void main(String[] args)
{
Map<Integer,NormalElement> map=new HashMap<Integer,NormalElement>();
List<NormalElement> list=new ArrayList<NormalElement>();
System.out.println("分别向Map和List上插入10000万条数据");
long start=System.currentTimeMillis();
NormalElement element=null;
for(int i=0;i<COUNT;i++)
{
element=new NormalElement(i,"name_"+i);
list.add(element);
}
long end=System.currentTimeMillis();
System.out.println("List初始化耗时:"+(end-start)+"毫秒。");
start=System.currentTimeMillis();
for(int i=0;i<COUNT;i++)
{
element=new NormalElement(i,"name_"+i);
map.put(i, element);
}
end=System.currentTimeMillis();
System.out.println("Map初始化耗时:"+(end-start)+"毫秒。");
System.out.println("List和Map检索数据的对比。");
start=System.currentTimeMillis();
for(int id:IDS)
{
getElement(id,list);
}
end=System.currentTimeMillis();
System.out.println("List检索数据耗时:"+(end-start)+"毫秒。");
start=System.currentTimeMillis();
for(int id:IDS)
{
map.get(id);
}
end=System.currentTimeMillis();
System.out.println("Map检索数据耗时:"+(end-start)+"毫秒。");
}
/**
*
* {从List里取某个元素}
*
*/
private static NormalElement getElement(int id,List<NormalElement> list)
{
for(NormalElement ele:list)
{
if(ele.getId()==id)
{
return ele;
}
}
return null;
}
}
Set和List
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* <b>Application describing:Set和List比较,Set中不允许有重复元素</b> <br>
*/
public class SetAndList
{
public static void main(String[] args)
{
Set<String> set=new HashSet<String>();
set.add("1");
set.add("2");
set.add("2");
set.add("3");
System.out.println("Set中不允许有重复对象。");
System.out.println("Set存放的数据个数:"+set.size());
List<String> list=new ArrayList<String>();
list.add("1");
list.add("2");
list.add("2");
list.add("3");
System.out.println("list允许有重复对象。");
System.out.println("list存放的数据个数:"+list.size());
}
}