List Set Map 的区别

Java集合包括三大类,分别是:
1> Set(集)
2> List(列表)
3> Map(映射)

这里写图片描述

  1. Collection接口:
    Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。其典型的用法如下所示:
//遍历Collection中的每一个元素
Iterator it = collection.iterator();   //获得一个迭代子
    while(it.hasNext) {
    	Object.obj = it.next();    //得到下一个元素
    }

2.Set是一个不包含重复元素的Collection(即任意的两个元素e1和e2都有e1.equals(e2)=false,Set最多有一个null元素)。
. Set不能存放相同的元素
. Set里面的元素是无序的

//这里需要引入Java的包
import java.util.HashSet;
import java.util.Set;

public class Test2 {
	public static void main(String args[]) {
		
		Set set = new HashSet();
		
		set.add("abc");
		set.add("def");
		set.add("gh");
		set.add("abc");
		
		System.out.println(set.size());
	}

	
}

Set会自动将重复的“abc”去掉,所以输出结果size为3.

3.List是有序的Collection。
.List允许有相同的元素

import java.awt.List;
import java.util.ArrayList;

public class Test3 {
	public static void main(String args[]) {
		
	    ArrayList list = new ArrayList();
		
		list.add("abc");
		list.add("bc");
		list.add("abc");
		list.add("def");
		
		System.out.println(list.size());
		
	}

}

输出结果size为4.

4.Map里存放的是键值对,key-value键是唯一的,但值是可以重复的。

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

public class Test4 {
 
	public static void main (String args[]) {
		Iput put1 = new Iput("01","张三");
		Iput put2 = new Iput("02","李四");
		Iput put3 = new Iput("03","王五");
		
		Map map = new HashMap();
		map.put(put1.getid(), put1.getname());
		map.put(put2.getid(), put2.getname());
		map.put(put3.getid(), put3.getname());	
		
		Set set=map.keySet();  
        System.out.println("Map集合中所有元素是:");  
        Iterator it=set.iterator();  
        while (it.hasNext()){  
            String key=(String) it.next();  
            String name=(String) map.get(key);  
            System.out.println(key+" "+name);  
        }  
	}
}
class Iput {
	
	private String id;
	private String name;
	
	public Iput(String id, String name) {
		this.id = id;
		this.name = name;	
	}
	
	public String getid() {
		return id;
	}
	
	public String getname() {
		return name;
	}
}

输出结果

Map集合中所有元素是:
01 张三
02 李四
03 王五

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值