JAVA作业11(20201219)

编写程序测试Java集合框架中各种常用类的 基本操作(包括添加元素,删除元素,遍历集合元素等)

package hm;

import java.util.*;

class Counter{
	  int i=1;
	  public String toString(){
	     return Integer.toString(i);
	  }
	}

class ExampleTreeMap {
	Map calendar = new  TreeMap(); //用Map声明引用HashMap对象 
    public ExampleTreeMap(String d[], String i[]){ 
       for (int x=0; x<d.length; x++) 
          calendar.put(d[x], i[x]); //将元素对加入到map引用的对象当中
    } 
}

public class test{
 public static void main(String[] args){
	 //ArrayList
	 try{
	    ArrayList<Integer> al = new ArrayList<Integer>();
        al.add(1);
        al.add(2);
        al.add(3);
        //al.add(3.5);
        for(int i=0; i<3;i++){
           Integer inte = (Integer)al.get(i);
           System.out.println(inte);
        }
	 }
	 catch(Exception e){
         System.out.println("error");
     }
	 
     //LinkedList
     try{
         LinkedList<Integer>  lst = new LinkedList<Integer>();
          for (int i=0 ;i<10 ;i++ ){
            lst.addFirst(i);
        }
        for (int i=0 ;i<10 ;i++ ){
        	Integer  tem =(Integer)lst.removeFirst();
            System.out.println(tem.intValue());
         }
        }
        catch(Exception e){
          System.out.println("error");
        }
     
       //Vector
       int b = 0;
       Vector<Integer> v = new Vector<Integer>();
       System.out.println("Please Enter Number:");   
        while (true){
            try{
               b = System.in.read(); }
            catch (Exception e){
               System.out.println(e.getMessage()); }
            if (b== '\r' || b== '\n')   break;
            else {
                int num = b - '0';
                v.addElement(num);
            }
       }
        
       //Enumeration
       int sum = 0;
       Enumeration<Integer> e = v.elements();
       while (e.hasMoreElements()){
            Integer intObj = (Integer)e.nextElement();
            sum += intObj.intValue();
       }
       System.out.println(sum); 
       
       //Iterator
       int sum1 = 0;
       Iterator<Integer> i = v.iterator();
        while (i.hasNext()){
           Integer intObj = (Integer)i.next();
           sum1 += intObj.intValue();
        }
        System.out.println(sum1);
        
        //ListIterator
        Integer tem;
        try{
           LinkedList<Integer>  lst = new   
                      LinkedList<Integer>();
           for (int i1=0 ;i1<10 ;i1++ ){
              lst.add(i1);
           } 
           ListIterator<Integer> ite = 
                       lst.listIterator(10);
           while(ite.hasPrevious()){
             tem =ite.previous();
             System.out.println(tem.intValue());
           }//向前遍历
        }
        catch(Exception er){
           System.out.println("error");
        }
        
        //Stack 
         Stack<Integer> stk=new Stack<Integer>();
         for(int i2=0;i2<10;i2++)
             stk.push(i2);  // autoboxing
         System.out.println("stk="+ stk);
         System.out.println("popping elements:");
         while(!stk.empty())
             System.out.println(stk.pop());
         
         ///Deque
         Deque<Integer> stk2 = new ArrayDeque<Integer>();
         for(int i2=0;i2<10;i2++)
             stk2.push(i2);  // autoboxing
         System.out.println("stk="+ stk2);
         System.out.println("popping elements:");
         
         //Comparator
         List<Integer> al = new ArrayList<Integer>();
         al.add(1);
         al.add(3);
         al.add(2);
         System.out.println(al);//排序前
         Collections.sort(al, new Comparator(){
           public int compare(Object o1,Object o2){
             return (Integer)o2-(Integer)o1;
           }
         });            
         System.out.println(al);//排序后
         
         //Hashtable
         Hashtable<Integer,Counter> ht=new Hashtable<Integer,Counter>();
         for(int i3=0;i3<10000;i3++){
           Integer r=(int)(Math.random()*20);
           if(ht.containsKey(r))
              ((Counter)ht.get(r)).i++;
           else
              ht.put(r,new Counter());
         }
         System.out.println(ht);
         
         //TreeMap
         String [] dates = {"10/31/01", "01/01/01", "03/05/01", "02/04/01"}; 
         String [] items = {"Halloween", "New Years", "Birthday", "Anniversary"}; 
         ExampleTreeMap example = new ExampleTreeMap(dates, items); 
         System.out.println("map= " + example.calendar); //打印出map引用对象中的key和value对 
         Set mappings = example.calendar.entrySet(); //将map中的key/value对映射成set集合
         System.out.println("object \t\t\tkey\t\tvalue"); 
         //通过映射后的set集合对元素进行遍历,得到key和value。 
         for (Iterator i4 = mappings.iterator(); i4.hasNext();) { 
            Map.Entry me = (Map.Entry)i4.next(); 
            Object ok = me.getKey(); 
            Object ov = me.getValue(); 
            System.out.print(me + "\t"); 
            System.out.print(ok + "\t"); 
            System.out.println(ov);  
         }

}
} 

输出

1
2
3
9
8
7
6
5
4
3
2
1
0
Please Enter Number:
32
5
5
9
8
7
6
5
4
3
2
1
0
stk=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
popping elements:
9
8
7
6
5
4
3
2
1
0
stk=[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
popping elements:
[1, 3, 2]
[3, 2, 1]
{19=494, 18=518, 17=531, 16=503, 15=519, 14=498, 13=484, 12=513, 11=498, 10=490, 9=526, 8=532, 7=496, 6=508, 5=493, 4=453, 3=462, 2=447, 1=558, 0=477}
map= {01/01/01=New Years, 02/04/01=Anniversary, 03/05/01=Birthday, 10/31/01=Halloween}
object 			key		value
01/01/01=New Years	01/01/01	New Years
02/04/01=Anniversary	02/04/01	Anniversary
03/05/01=Birthday	03/05/01	Birthday
10/31/01=Halloween	10/31/01	Halloween
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值