java集合List案例说明

转载请注明出处:http://write.blog.csdn.net/postedit

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Vector;
import java.util.concurrent.atomic.AtomicInteger;

/**
 * List
 * 允许存在重复的有序集合
 * @author wanghl
 *
 */
public class ListTest {
	public static void main(String args[]){
		System.out.println("-------------ArrayList");
		/**
		 * ArrayList
		 * ArrayList支持可随需要而进行动态增长的动态数组。其内部存储数据结构数组。
		 * ArrayList可以快速索引元素,查找较快。插入、删除较慢。
		 */
		ArrayList<Persion> mList = new ArrayList<Persion>();
		Persion pa1 = new Persion("孔乙己",40);
		Persion pa2 = new Persion("小D",42);
		mList.add(pa1);
		mList.add(pa2);
		mList.add(pa1);
		mList.add(pa1);
		mList.add(pa1);
		mList.add(pa1);
		System.out.println("Persion count is:"+mList.size());
		for(Persion p:mList){
			System.out.println("Persion is:"+p);
		}
		System.out.println("-------------LinkedList");
		/**
		 * LinkedList
		 * 通过连接指针来关联前后两个元素,使用双向链表。
		 * 插入和删除较快,适合实现栈和队列
		 */
		LinkedList<Persion> linkPersion = new LinkedList<Persion>();
		Persion pb1 = new Persion("二胡",40);
		Persion pb2 = new Persion("小四",42);
		linkPersion.add(pb1);
		linkPersion.add(pb2);
		for(Persion p:linkPersion){
			System.out.println("Persion is:"+p);
		}
		System.out.println("-------------Vector");
		/**
		 * Vector
		 * 矢量
		 * 线程安全的
		 */
		Vector<Persion> vectory = new Vector<Persion>();
		Persion pc1 = new Persion("赵四爷",40);
		Persion pc2 = new Persion("小二",23);
		vectory.add(pc1);
		vectory.add(pc2);
		for(Persion p:vectory){
			System.out.println("Persion is:"+p);
		}

	}
}
class Persion{
	public String mName;
	public int mAge;
	public static AtomicInteger sIndex = new AtomicInteger();
	public int mIndex;
	public Persion(String name,int age){
		mName = name;
		mAge = age;
		mIndex = sIndex.addAndGet(1);
	}
	@Override
	public String toString() {
		return "Persion name is:"+mName+",年龄:"+mAge+",这是第:"+mIndex+",个对象。"+super.toString();
	}
	@Override
	public boolean equals(Object obj) {
		if(obj instanceof Persion){
			Persion other = (Persion) obj;
			return mName.equals(other.mName)&&mAge == other.mAge;
		}
		return super.equals(obj);
	}
	@Override
	public int hashCode() {
		return super.hashCode();
	}
}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hailushijie

您的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值