Java集合-常用集合类

9 篇文章 0 订阅

Set接口常用实现类:

package practice;

import java.util.HashSet;
import java.util.Set;
import java.util.TreeSet;
/**Set集合
 * HashSet  TreeSet
 * @author liu
 *
 */
public class Test19 {
    	public static void main(String[] args) {
		// TODO Auto-generated method stub
           Set set=new HashSet();
            set.add("SA");
            set.add("AD");
            set.add("AP");
            set.add("AP");
            set.add("DD");
            set.add("GG");
           System.out.println(set);
           Set set2 =new TreeSet(set);
           System.err.println(set2);
	}

}

[DD, GG, AD, SA, AP]
[AD, AP, DD, GG, SA]

List接口实现类:LinkedList

通过动态加载的方式往泛型中添加不符合泛型的元素


package practice;

/**
 * List接口
 * LinkedList
 */
import java.lang.reflect.Method;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

public class Test20 {
      public static void main(String[] args) {
		List<String> list=new LinkedList();
		for(int i=0;i<10;i++){
			list.add("a0"+i);	
		}
		
		System.out.println("遍历所有:"+list);
		list.remove(0);
		System.out.println("删除一个:"+list);
		list.set(4, "a010");
		System.out.println("修改一个:"+list);
		String s=new String("1111");
		list.set(7, s);
		System.out.println("修改一个:"+list);
		Object str=list.get(7);
		System.out.println("获取元素:"+str);
		
		
		Class c1=list.getClass();
		try {
			Method m=c1.getMethod("add",Object.class);
			m.invoke(list, 20);
			System.out.println(list);
		//不能使用加强for循环遍历
			//遍历方法①:
			//System.out.println(list);
			
			//遍历方法②:
			Iterator it=list.iterator();
			while(it.hasNext()){
			Object obj=	it.next();
			System.out.print(obj+" ");
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
      
}


遍历所有:[a00, a01, a02, a03, a04, a05, a06, a07, a08, a09]
删除一个:[a01, a02, a03, a04, a05, a06, a07, a08, a09]
修改一个:[a01, a02, a03, a04, a010, a06, a07, a08, a09]
修改一个:[a01, a02, a03, a04, a010, a06, a07, 1111, a09]
获取元素:1111
[a01, a02, a03, a04, a010, a06, a07, 1111, a09, 20]
a01 a02 a03 a04 a010 a06 a07 1111 a09 20 


Map接口实现类:HashMap,HashMap的子类:LinkedHashMap,TreeMap

package practice;

import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.TreeMap;

public class Test21 {
   public static void main(String[] args) {
	 String [] args1=new String[]{"word","hello","body","word","hello","body","word","hello"};
	 int n=args1.length;
	Map map=new HashMap();
	Integer ONE =new Integer(1);
	for(int i=0;i<n;i++){
		String key =args1[i];
		Integer frequency =(Integer) map.get(key);
		if(frequency ==null){
			frequency =ONE;
		}else{
			int value=frequency.intValue();
			frequency=new Integer(value+1);
		}
		 map.put(key, frequency);
	}
	System.out.println(map);
	Map map2=new TreeMap(map);
	System.out.println(map2);
	HashMap map3=new LinkedHashMap<String,Integer>(map);
	//LinkedHashMap遍历出来的顺序和刚加入时的顺序是一样的
	System.out.println(map3);
}
}
{hello=3, body=2, word=3}
{body=2, hello=3, word=3}
{hello=3, body=2, word=3}

参考博客: http://blog.csdn.net/u014136713/article/details/52089156

                  http://www.cnblogs.com/hubingxu/archive/2012/02/21/2361281.html

               http://www.importnew.com/7099.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值