zoukankan      html  css  js  c++  java
  • 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());
    		}
    	}
    }

  • 相关阅读:
    体温填报APP--流程设计
    构建之法阅读笔记(一)
    家庭记账本(七)
    家庭记账本(六)
    家庭记账本(五)
    家庭记账本(四)
    家庭记账本(三)
    家庭记账本(二)
    家庭记账本(一)
    20210207 BaseAdapter
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/7168767.html
Copyright © 2011-2022 走看看