java 基础 集合 arraylist linkedlist vector stack 简单用法

集合


为什么需要

      需要添加员工的信息     数组不能动态改变 


解决方案         链表        集合类


list 集合类    ArrayList      LinkedList   Vector   Stack 

Map集合类  HashMap     Hashtable

Set集合类   HashSet       TreeSet

Queue 结构的集合    Queue 接口

 

arraylist 和 vector 的区别               vector 同步 更加安全  arraylist 是异步的        数据增长   vector 增长为原来的两倍  arraylist 原来的1.5倍


public class shuzu {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		
		ArrayList al= new ArrayList();
		
		//显示大小 
		System.out.println("al daxiao " + al.size());
		
		//向 al 中加入数据 (类型是 object)
		// 创建一个职员
		clerk clerk1= new clerk("songji",50,1000);
		clerk clerk2= new clerk("songjii",50,1000);
		al.add(clerk1);
		al.add(clerk2);
		al.add(clerk1);//可以添加重复元素
		al.add(clerk2);
		System.out.println("al daxiao " + al.size());
		//	clerk temp=al.get(0);  // 这个不允许 因为arraylist 里边的哦数据类型是 object  只能强制转换
		clerk temp=(clerk)al.get(0);  	//访问第一个对象 
		
		System.out.println("第一个元素的名字是" + temp.getName());
		//遍历 取出元素 
		for(int i=0;i<al.size();i++){
			clerk temp1=(clerk)al.get(i);
			System.out.println("name="+temp1.getName());
		}
		//删除一个元素  
		al.remove(1);System.out.println("============");
		for(int i=0;i<al.size();i++){
			clerk temp1=(clerk)al.get(i);
			System.out.println("name="+temp1.getName());
		}
		clerk temp2 =(clerk)al.get(1);
		System.out.println(temp.getName());
	}

}

class clerk 
{  
	private String name;
	private int age ;
	private float sal; 
	clerk(String name,int age,float sal){
		this.name=name;
		this.age=age;
		this.sal=sal;
	}
	public String getName() {
		return name;
	}
}

结果是  

al daxiao 0
al daxiao 4
第一个元素的名字是songji
name=songji
name=songjii
name=songji
name=songjii
============
name=songji
name=songji
name=songjii
songji


链表 

	public static void main(String[] args) {

	LinkedList ll=new LinkedList();
	Emp emp1=new Emp("sa01","aa", 1.2f);
	Emp emp2=new Emp("sa01","bb", 1.2f);
	//特征  可以选择性加入到前边 或者后边
	ll.addFirst(emp1);//表示把emp1加在链表的最前面
	ll.addFirst(emp2);
	for(int i=0;i<ll.size();i++)
	{
		Emp temp=(Emp)ll.get(i);
		System.out.println("name="+temp.getName());
	}	
        }



向量

public static void main(String[] args) {

	Vector vv= new Vector();
	Emp emp1=new Emp("asdfsa","aa",1.2f);
	vv.add(emp1);
	
	for(int i=0;i<vv.size();i++)
	{
		Emp emp= (Emp)vv.get(i);//也必须要强制转换
		
	}


Stack

差不多 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值