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());
		}
	}
}
时间: 2024-12-13 08:00:25

JAVA学习第三十五课(常用对象API)- 集合框架(三)—Vector、LinkedList、ArrayList集合演示的相关文章

JAVA学习第四十五课 — 其他对象API(一)

一.System类 1. static long currentTimeMillis() 返回以毫秒为单位的当前时间. 实际上:当前时间与协调世界时 1970 年 1 月 1 日午夜之间的时间差(以毫秒为单位测量). long time = 1414069291407l;//long型 后面加l System.out.println(time); 2. static void exit(int status)终止当前正在运行的 Java 虚拟机. static void gc()运行垃圾回收器

JAVA学习第四十五课 — 其它对象API(一)System、Runtime、Math类

一.System类 1. static long currentTimeMillis() 返回以毫秒为单位的当前时间. 实际上:当前时间与协调世界时 1970 年 1 月 1 日午夜之间的时间差(以毫秒为单位測量). long time = 1414069291407l;//long型 后面加l System.out.println(time); 2. static void exit(int status)终止当前正在执行的 Java 虚拟机. static void gc()执行垃圾回收器

JAVA学习第四十六课 — 其他对象API(二)Date类 & Calendar类(重点掌握)

Date类(重点) 开发时,会时常遇见时间显示的情况,所以必须熟练Date的应用 <span style="font-family:KaiTi_GB2312;font-size:18px;"><strong>import java.util.*; public class Main { public static void main(String[] args){ long l = System.currentTimeMillis();//14140798929

JAVA学习第六十五课 — 正則表達式

正則表達式:主要应用于操作字符串.通过一些特定的符号来体现 举例: QQ号的校验 6~9位.0不得开头.必须是数字 String类中有matches方法 matches(String regex) 告知此字符串是否匹配给定的正則表達式. regex,就是给定的正則表達式 public static void checkQQ() { //第一位是数字1-9,第二位以后是0-9,除去第一位数剩下数字位数范围是5到8位 String regex = "[1-9][0-9]{5,8}";//正

JAVA学习第六十五课 — 正则表达式

正则表达式:主要应用于操作字符串,通过一些特定的符号来体现 举例: QQ号的校验 6~9位,0不得开头,必须是数字 String类中有matches方法 matches(String regex) 告知此字符串是否匹配给定的正则表达式. regex,就是给定的正则表达式 public static void checkQQ() { //第一位是数字1-9,第二位以后是0-9,除去第一位数剩下数字位数范围是5到8位 String regex = "[1-9][0-9]{5,8}";//正

NeHe OpenGL教程 第三十五课:播放AVI

转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第三十五课:播放AVI 在OpenGL中播放AVI: 在OpenGL中如何播放AVI呢?利用Windows的API把每一帧作为纹理绑定到OpenGL中,虽然很慢,但它的效果不错.你可以试试. 首先我得说我非常喜欢这一章节.Jonat

JAVA学习第三十四课 (经常使用对象API)—List集合及其子类特点

整个集合框架中最经常使用的就是List(列表)和Set(集) 一.List集合 && Set的特点 Collection的子接口: 1.List:有序(存入和取出的顺序一致),元素都有索引且能够反复    API文档解释:有序的 collection(也称为序列).此接口的用户能够对列表中每一个元素的插入位置进行精确地控制.用户能够依据元素的整数索引(在列表中的位置)訪问元素,并搜索列表中的元素. 2.Set:元素不能反复,无序,有可能会有序    API文档解释:一个不包括反复元素的 c

JAVA学习第六十四课 — 反射机制

   Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性,这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制,简单说:能动态获取类中的信息(类中所有),就是java的反射,也可以理解为对类的解剖 反射机制的基本应用场景:    比如一个程序的应用程序(TomCat),为了提高其扩展性,会对外暴露一个接口,在外部定义一个类实现这个接口,但是在应用程序内部无法new对象,所以应用程序会提供一个配置

Java基础知识强化之集合框架笔记27:ArrayList集合练习之去除ArrayList集合中的重复字符串元素

1. 去除ArrayList集合中的重复字符串元素(字符串内容相同) 分析: (1)创建集合对象 (2)添加多个字符串元素(包含重复的) (3)创建新的集合 (4)遍历旧集合,获取得到每一个元素 (5)拿着个元素到新集合中去找,看有没有   有:不搭理它 没有:添加到新集合      (6)遍历新集合 2. 案例代码: 1 package cn.itcast_04; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; 5 6