java集合的基本使用

java集合的基本使用

package com.collection.list;
import java.util.*;

public class VectorDemo0 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//
		List<String> lists = null;
		
		//Vector线程安全  但是效率较低 ArrayList效率高
		lists = new Vector<String>();
		lists.add("A");
		lists.add("B");
		lists.add("A");
		
		for(int i = 0; i < lists.size(); i++ )
		{
			System.out.println(lists.get(i));
		}
		
		lists.remove(1);
		
		for(int i = 0; i < lists.size(); i++ )
		{
			System.out.println(lists.get(i));
		}
		
		System.out.println("当前是否为空:"+lists.isEmpty());
		System.out.println("当前是否存在:"+lists.indexOf("H"));
		System.out.println("当前是否存在:"+lists.indexOf("A"));
	}

}


package com.collection.list;
import java.util.*;
public class listDemo0 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		//List是collection的子接口  接口不能直接实例化
		List<String>  lists  = null;
		
		//ArrayList继承List接口  Vector也是继承List  
		//ArrayList和Vector是List子接口的两种实现
		lists = new ArrayList<String>();
		//ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。
		lists.add("A");
		lists.add("B");
		lists.add("C");
		lists.add("A");
		for(int i = 0;i < lists.size();i++)
		{
			System.out.println(lists.get(i));
		}
		
		lists.remove(1);
		System.out.println("删除操作之后:");
		
		for(int i = 0;i < lists.size();i++)
		{
			System.out.println(lists.get(i));
		}
		
		System.out.println("当前arraylist是否为空:"+lists.isEmpty());
		
		System.out.println("查询是否存在元素'D':"+lists.indexOf("D"));
		
		//存在多个只返回第一个所在的位置
		System.out.println("查询是否存在元素'A':"+lists.indexOf("A"));
			return ;
	}

}


package com.collection.list;
import java.util.*;
public class setDemo0 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stubh
		//
		Set<String> s = null;
		//hash表  内部元素不能重复  因为hashset是通过hashmap实现的 
		//不保证该顺序恒久不变,允许使用 null 元素  线程不安全  内部元素不重复
		//基本操作(add、remove 和 contains)提供受保证的 常数 时间开销
		s = new HashSet<String>();
		
		s.add("A");
		s.add("B");
		s.add("D");
		s.add("C");
		s.add("F");
		s.add("E");
		s.add(null);
		System.out.println(s);
		System.out.println(s.contains("A"));
		s.remove("A");
		s = new TreeSet<String>(); 
		//基本操作(add、remove 和 contains)提供受保证的 log(n) 时间开销   顺序固定
		//红黑树  还是AVL树   ???  内部元素不重复   Integer能排序(有默认顺序), String能排序(有默认顺序)
		//treeset是有treemap实现的
		s.add("A");
		s.add("B");
		s.add("C");
		s.add("D");
		s.add("F");
		s.add("E");
		s.add("E");
		//s.add(null);  //treeset的元素不能为空
		System.out.println(s);
		return ;
	}

}


package com.collection.list;
import java.util.*;
public class IteratorDemo0 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		List<String> lists = null;
		//LinkedList是链表  也是实现了list的接口
		lists = new LinkedList<String>();
		lists.add("A");
		lists.add("B");
		lists.add("C");
		lists.add("D");
		
		Iterator<String> iter = lists.iterator();//迭代器只有三个函数  分别是两个和remove
		while(iter.hasNext())
		{
			String str = iter.next();//取值只能一次  因为下一次取得的 是下一个值
			if("A".equals(str))
			{
				System.out.println("删除");
			}
			else
			{
				System.out.println(str);//
			}
		}
		return ;
		
	}

}

package com.collection.list;
import java.util.*;
public class MapDemo0 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Map<String,String> maps = new HashMap<String,String>();
		maps.put("A","1203");
		maps.put("B","1223");
		maps.put("C","1233");
		maps.put("D","1213");
		String str = maps.get("A");
		if(maps.containsKey("A"))
		{
			System.out.print(str);
		}
		Set<String> s = maps.keySet();
		Iterator<String>  iter = s.iterator();
		while(iter.hasNext())
		{
			System.out.println(iter.next());
		}
		
		
		
	}

}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值