Java基本集合类的用法

1.集合可以理解为一个动态的对象数组,不同的是集合中的对象内容可以任意扩充

2.特点 

性能高

 容易扩展和修改

3.Conllection的常用子类

list接口可以存放任意的数据,而且在List接口中的内容是可以重复的

 List(ArrayList子类)

public class ListDemo1 {

	public static void main(String[] args) {

		List<String>lists = null; //定义集合
		lists = new ArrayList<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(0);//移除第一项
		System.out.println("删除之后————————");
		for(int i = 0 ;i <lists.size();i++){
			System.out.println(lists.get(i));
		}
		System.out.println( "集合是否为空"+ lists.isEmpty());//判断集合是否为空
		System.out.println("查询B是否存在"+lists.indexOf("B"));
		//返回是否包含该元素,如果包含则返回该元素的索引。。不存在,则返回-1
	}

}

(vector子类)

public class ListDemo02 {

	public static void main(String[] args) {

		List <String> lists = null;
		lists = new Vector<String>();
		lists.add("A");
		lists.add("B");
		for (int i = 0; i < lists.size(); i++) {
			System.out.println(lists.get(i));
		}
	
	}

}

区别

233909_FFKQ_2352297.png

Set

set接口不能加入重复元素,但可以排序

散列存放 HashSet

有序存放 TreeSet

public class SetDemo1 {

	public static void main(String[] args) {

		Set<String> s = null;
		s = new TreeSet<String>();
		s.add("C");
		s.add("D");
		
		s.add("A");
		s.add("B");

		s.add("E");
		s.add("F");
		s.add("G");
		System.out.println(s);
	}
}

Queue


4.Iterator接口

1.集合输出的标准操作

2.迭代输出,将元素一个一个的输出,如有内容则取出

public class IteratorDemo01 {

	public static void main(String[] args) {

		List<String> lists = new ArrayList<String>();
		lists.add("A");
		lists.add("B");
		lists.add("C");
		lists.add("D");
		lists.add("E");
		lists.add("G");
		lists.add("H");
		
		Iterator<String> iter = lists.iterator(); //定义Iterator接口 
		while (iter.hasNext()) {//循环的输出
			
			String str = iter.next();
			if ("A".equals(str)) {
				iter.remove(); //删除。。不能通过集合来进行删除
			}else{
			System.out.println(str);
		}}
	}

}


5.Map集合

1.保存形式  key-->value的保存方式 

例:  幻幻 1163534699

2.常用子类

HashMap 无序存放,key不允许重复

Hashtable 无序存放,key不允许重复

public class MapDemo01 {

	public static void main(String[] args) {

		Map<String,String> map = new HashMap<String,String>();
		map.put("key1", "demayixiya");
		map.put("key2", "de");
		map.put("key3", "ma");
		map.put("key4", "xi");
		map.put("key5", "ya");//添加数据。。键和值
		
		Set<String>s =  map.keySet();//将所有的键打印出来
		Iterator<String> i = s.iterator();
		
		while (i.hasNext()) {
		System.out.println(i.next());
		}
		//获取所有的value
		Collection<String>  c = map.values();
		 i = c.iterator();
		 while(i.hasNext()){
			 System.out.println(i.next());
		 }
	}

}

获取当前的键和value

String str = map.get("key1");//获得当前的键
System.out.println(str); //通过键来找到所对应的值

获取全部的键和value

public class MapDemo3 {

	public static void main(String[] args) {

		Map<String,String> map = new HashMap<String,String>();
		map.put("key1", "demayixiya");
		map.put("key2", "de");
		map.put("key3", "ma");
		map.put("key4", "xi");
		map.put("key5", "ya");//添加数据。。键和值
		//获取全部的键和内容
		Set<String> s = map.keySet();
		//
		Iterator<String> i = s.iterator();
		while (i.hasNext()) {
			System.out.println(i.next());
		}
		
		Collection<String> c = map.values();
		i= c.iterator();
		while (i.hasNext()) {
			System.out.println(i.next());
		}
	}
}





百度云源码http://pan.baidu.com/s/1E6n9O






转载于:https://my.oschina.net/TAOH/blog/534026

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值