JAVA学习第三十五课(经常使用对象API)—Vector、LinkedList、ArrayList集合演示
集合框架构成图
摘自百度图片
一、Vector集合 演示
尽管Vector已经不经常使用了,可是还是要了解一下当中的方法
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;
import java.util.Vector;
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Vector vec = new Vector();
vec.add("a1");
vec.add("a2");
vec.add("a3");
vec.add("a4");
Enumeration enumer = vec.elements();
while (enumer.hasMoreElements()) {
Object object = (Object) enumer.nextElement();
System.out.println("next Elements"+object);
}
/*
* 此接口的功能与 Iterator 接口的功能是反复的。此外,Iterator 接口加入了一个可选的移除操作,并使用较短的方法名。
* 新的实现应该优先考虑使用 Iterator 接口而不是 Enumeration 接口。
* */
Iterator it = vec.iterator();
while (it.hasNext()) {
Object object = (Object) it.next();
System.out.println("it next "+object);
}
}
}
二、LinkedList集合演示
import java.util.LinkedList;
public class Main
{
public static void main(String[] args)
{
LinkedList link = new LinkedList();
link.addFirst("a1");
link.addFirst("a2");
link.addFirst("a3");
link.addFirst("a4");
/*头插法*/
System.out.println("link = "+link);
//System.out.println("Get First elments = "+link.getFirst());//获取第一个元素
//System.out.println("Remove Frist elements = "+link.removeFirst());//删除第一个元素
/*while (!link.isEmpty()) {//从头开是遍历,取一个删一个
System.out.println(link.removeFirst());
}*/
while(!link.isEmpty()){//从尾開始遍历
System.out.println(link.removeLast());
}
System.out.println("Finally link = "+link);
}
}API文档解释:注意。此实现不是同步的。
假设多个线程同一时候訪问一个链接列表。而当中至少一个线程从结构上改动了该列表,则它必须 保持外部同步。(结构改动指加入或删除一个或多个元素的不论什么操作。仅设置元素的值不是结构改动。)这一般通过对自然封装该列表的对象进行同步操作来完毕。假设不存在这种对象,则应该使用Collections.synchronizedList
方法来“包装”该列表。最好在创建时完毕这一操作。以防止对列表进行意外的不同步訪问
Link的堆栈和队列演示
import java.util.LinkedList;
class queue
{
private LinkedList link;
public queue() {
// TODO Auto-generated constructor stub
link = new LinkedList();
}
public void AddQueEle(Object obj)
{
link.addLast(obj);
}
public Object GetQueEle()
{
return link.removeFirst();//栈仅仅需改为 link.removeLast()就可以
}
public boolean IsQueEmpty()
{
return link.isEmpty();
}
}
public class Main
{
public static void main(String[] args)
{
queue Q = new queue();
Q.AddQueEle("a1");
Q.AddQueEle("a2");
Q.AddQueEle("a3");
Q.AddQueEle("a4");
while(!Q.IsQueEmpty()){
System.out.println(Q.GetQueEle());
}
}
}
Link方法JDK1.6:
JDK1.5曾经 addFrist();加入 addLast(); JDK1.6 offerFrist() offerLast(); JDK1.5曾经 getFrist();获取第一个元素(不删除)。假设Link为空。抛出NoSuchElementException异常 getLast(); JDK1.6 peekFrist():获取第一个元素(不删除),假设Link为空,return null peekLast(); JDK1.5 removeFrist():获取第一个元素并删除,假设Link为空,抛出NoSuchElementException异常 removeLast(): JDK1.6 pullFrist():获取第一个元素并删除。假设Link为空,return null pullLast():
三、ArrayList集合演示
import java.security.Permissions;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
class Man
{
private String name;
private int age;
public Man(String name, int age) {
super();
this.name = name;
this.age = age;
}
public Man() {
super();
// TODO Auto-generated constructor stub
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
public class Main
{
public static void main(String[] args)
{
ArrayList aList = new ArrayList();
aList.add(new Man("a1",11));
aList.add(new Man("a2",12));
aList.add(new Man("a3",13));
aList.add(new Man("a4",14));
Iterator it = aList.iterator();
while(it.hasNext())
{
Man pMan = (Man)it.next();
System.out.println(pMan.getName()+"::"+pMan.getAge());
}
}
}
浙公网安备 33010602011771号