集合


 

1. 一集合与数组

      集合的长度是可变的,用来存放对象的引用;数组的长度是固定,用来存放基本类型。

 

2. 二、Java集合类的继承关系

     

 

 

三、List、Map、Set集合的分析

3.     1.List集合:包括所有List接口与List所有实现类,集合中元素可重复,各元素的顺序就是插入的顺序。

    使用List接口:先声明为List类型,然后对集合进行实例化,List接口常用的实现类有:ArrayListLinkList

    如:List<String> list=new ArrayList<String>();

   2 .Set集合:将对象不按顺序,只是简单加入集合中,且不能包含重复的对象。

      使用Set接口:先声明为Set类型,然后对集合进行实例化,Set接口常用的实现类:HashSetTreeSet类。如: Set<String> set=new HashSet<String>();

   3.Map集合:没有继承Collection接口,提供的是keyvalue映射,且不能包含相同的key值,keyvalue是一对一映射。

     使用Map接口:先声明为Map类型,然后对集合进行实例化,Map接口常用的实现类:HashMapTreeMap类。如:Map map=new HashMap<String,String>()

     获取指定的keyvalue值,先通过相应方法获取Keyvalue集合,在从集合中变量指定的值

四、List,Set,Map的区别

接口

是否有序

能否充许元素重复

Collection

List

实现类

ArrayList

LinkedList

Vector

Set

实现类

HashSet

TreeSet

Map

实现类

 

使用Key-Value键值对关系存储数据,Key是唯一的,Value可重复

HashMap

TreeMap

HashTable

 

 

五遍历Map集合的三种方式:

package com.collection;

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

public class MapTest {
	public static void main(String[] args) {
		Map m=new HashMap();
		m.put("111", new Person(1,"zs"));
		m.put("222",new Person(2,"ls"));
		m.put("333", new Person(3,"ww"));
		System.out.println(m.size());
		Person p=(Person) m.get("333");	
		System.out.println(p);
		m.remove("333");
		System.out.println(m);
		
		//三种遍历方式:Set value entryset
		System.out.println("遍历一:");
		Set keyset=m.keySet();//取得所有set的集合
		Iterator it=keyset.iterator();
		while(it.hasNext()){
			String s=(String) it.next();
			System.out.println(s+"="+m.get(s));		
		}
		
		System.out.println("遍历二:");
		Collection value=m.values();//取得所collection的集合
		for(Iterator its=value.iterator();its.hasNext();){
			Person person=(Person) its.next();
			System.out.println(person);
		}
		
		System.out.println("遍历三:");
		Set entry=m.entrySet();
		for(Iterator ite=entry.iterator();ite.hasNext();){
			 Map.Entry ms = ( Map.Entry)ite.next();
			System.out.println(ms.getKey()+"="+ms.getValue());
		}
	}
}

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值