欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java集合类(Map、Set、List)

程序员文章站 2022-05-24 22:40:39
...

集合类之Map

1、键值对,key-value,具有映射关系

2、Map的key唯一,value可以相同

3、Map的key类似一个Set,value类似List 

4、LinkedHashMap遍历顺序跟插入顺序一致,HashMap不能保证顺序

 

集合类之List
1、List是Collection的子接口,所以List可以使用Collection全部方法

2、Arrays.ArrayList是一个长度固定的List,只能遍历不能 操作

 

集合类之Set

1、Set不允许重复数据

 

集合类之Test

 

package Test;

import java.util.*;
import java.util.Map.Entry;

/**
 * Map集合的操作
 * @author test
 *
 */
public class OtherTest {
	
    public static int i = 1;
    public static String name = "wang";
	
    public static void main(String[] args) throws Exception {
		
	Map<Object,Object> m = new HashMap<Object,Object>();

	  m.put("姓名", "cxy");  
        m.put("性别", "男");  
        //当key不存在于Map的时候put方法可以看作是新增  
        m.put("邮箱", "163@163.com");
        //当key存在于Map的时候put方法可以看作是更新
        m.put("邮箱", "cxyapi@163.com");        
        System.out.println(m);  
       
        System.out.println("------------------基础操作--------------------");
	   
        System.out.println("m的key中是否包含'姓名'? 答:"+ m.containsKey("姓名"));
        System.out.println("m的value中是否包含'女'? 答:"+ m.containsValue("女"));
        System.out.println("邮箱是:" + m.get("邮箱"));
        System.out.println("m是否为空?答:" + m.isEmpty());
        System.out.println("m大小?答:"+m.size());  
       
        System.out.println("------------------Set循环--------------------");
       
        Set<Object> set = m.keySet();
       
        for(Object obj:set) {
    	   System.out.println(obj + ":" + m.get(obj));   	   
        }
       
        System.out.println("-----------------Iterator循环----------------");
       
        Iterator<Entry<Object, Object>> iterator = m.entrySet().iterator();
       
        while(iterator.hasNext()) {
    	   
    	   Map.Entry<Object, Object> obj = iterator.next();
    	   
    	   System.out.println(obj.getKey() + ":" + obj.getValue());
    	  
        }    
       
        System.out.println("--------------Map.entrySet循环-----------------");
       
        for(Entry<Object, Object> entry:m.entrySet()) {
    	   
    	   System.out.println(entry.getKey() + ":" + entry.getValue());	   
        }
   }
}

 

package Test;

import java.util.*;

/**
 * Set集合的操作
 * @author Test
 *
 */
public class SetTest {
	public static void main(String[] args) {
		
		Set<Object> set = new HashSet<Object>();
		
		set.add("t");
		set.add("e");
		set.add("s");
		set.add("0");
		
		System.out.println("--------------Iterator循环-----------------");
		
		Iterator<Object> iterator = set.iterator();
		
		while(iterator.hasNext()) {
			
			String value = iterator.next().toString();
			
			System.out.println(value);
		}
		
		System.out.println("--------------foreach循环---------------------");
		
		for(Object str:set) { 
			System.out.println(str);
		}
		
	}
}

 

 

 

package Test;

import java.util.*;

/**
 * List集合的操作
 * @author Test
 *
 */
public class ListTest {
	public static void main(String[] args) {
		
		List<Object> list = new ArrayList<Object>();
		
		list.add("t");
		list.add("e");
		list.add("s");
		list.add("t");
		
		System.out.println(list);

		System.out.println("----------------for循环---------------------");
		
		for(int i = 0; i < list.size(); i++) {
			
			System.out.println(list.get(i));
		}
		
		System.out.println("--------------foreach循环---------------------");
		
		for(Object obj:list) {
			
			System.out.println(obj);
		}
		
		System.out.println("--------------Iterator循环---------------------");
		
		Iterator<Object> iterator = list.iterator();
		
		while(iterator.hasNext()) {
			
			String value = iterator.next().toString();
			
			System.out.println(value);
		}
	}
}

 

4、集合的区别

List:有序,可以重复(长度可更改的数组)

Set:无序,不能有重复

Map: 键值对,key不能重复,value可以重复