类集概念总结


Java集合类与数组的区别:Java的集合类的长度是动态的,数组则是固定长度的。

Java集合类与数组的联系:使用相应的toArray()和Arrays.asList()方法可以回想转换。

首先来看看Java集合框架中的接口:

Collection接口实现类中存放的是元素和Map接口实现类中存放的是键值对。

Set接口和List接口:Set接口不保证维护元素的顺序,而且元素不能重复。List接口维护元素的顺序,而且元素可以重复。

SortedSet和SortedMap提供了排序的功能。 


类集合
   Collection分为:List、Set
   List:ArrayList、LinkedList、Vector。
   Set:HashSet、TreeSet
   Map:HashMap、Hashtable、TreeMap
   接口:接口里面的方法都是公共、抽象的,里面定义的常量都是公共、final、静态的。
   定义接口:
     abstract interface A{
         public void add();
     }

再来看看接口的实现:

HashSet和LinkedHashSet:HashSet,为快速查找而设计的Set。存入HashSet的对象必须实现hashCode()和equals()。LinkedHashSet,具有HashSet的查询速度,且内部使用链表维护元素的顺序(插入的次序),于是在使用迭代器遍历Set时,结果会按元素插入的次序显示。

TreeSet: 提供排序功能的Set,底层为树结构 。相比较HashSet其查询速度低,如果只是进行元素的查询,我们一般使用HashSet。

ArrayList和LinkedList:ArrayList底层采用数组实现,具有较高的查询速度。LinkedList底层采用双向循环列表实现,进行插入和删除操作时具有较高的速度,我们还可以使用LinkedList来实现队列和栈。

TreeMap和HashMap:HashMap具有较高的速度(查询增删),TreeMap则提供了按照键进行排序的功能。

那么这几个类有什么不同呢?

1、list更关注与事物的链接,可以有重复的值

2.set更关注事物的唯一性

3.queue更关注事物的处理顺序

4.map更关注事物的映射与键值的唯一,主要是key值


import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;


public class Map_test {
	public static  void main (String  args[]){
		Map<String ,String> map=new HashMap<String,String>();
		map.put("s", "12");
		Set<String> key=map.keySet();
		Iterator< String>iter=key.iterator();
		while(iter.hasNext()){
			String str=iter.next();
			System.out.println(str);
		}
		Collection<String>col=map.values();
		Iterator<String> iter1=col.iterator();
		while(iter.hasNext()){
			String str=iter.next();
			System.out.print(str);
		}
		
		/**
		 *下面是连个相同的例子
		 */
		for(Map.Entry<String, String> me:map.entrySet()){
			me.getKey();
			me.getValue();
		}
		Set<Map.Entry<String,String>> allset=map.entrySet();
		Iterator<Map.Entry<String,String>> iter11=allset.iterator();
		while(iter11.hasNext()){
			Map.Entry<String, String > me=iter11.next();
		}

	}


}



参考:http://www.cnblogs.com/azai/archive/2010/12/09/1901272.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值