首页 > 代码库 > JAVA学习第三十五课(常用对象API)- 集合框架(三)—Vector、LinkedList、ArrayList集合演示
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()); } } }
JAVA学习第三十五课(常用对象API)- 集合框架(三)—Vector、LinkedList、ArrayList集合演示
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。