培訓總結2

     今天,我學習了工具類java.util.包中的幾個平時經常用到的幾個類,例如ArrayList、HashMap、Hashtable等幾個類,在這我總結一下ArrayList的用法。

       特徵:允許null在內的所有元素,大致上等同於Vector類,但是他是不同步的。

      ArrayList實現的對象非常方便的進行存儲,下面的代碼是能夠非常明顯的顯示出這個類的方便之處。

  1.  
  2.        
  3. import java.io.ByteArrayInputStream;     
  4. import java.io.ByteArrayOutputStream;     
  5. import java.io.IOException;     
  6. import java.io.ObjectInputStream;     
  7. import java.io.ObjectOutputStream;     
  8. import java.util.ArrayList;     
  9. import java.util.List;       
  10. public class TestMain {          
  11.     /**       * @param args       */    
  12.       
  13.  
  14.  
  15.  public static void main(String[] args) {           
  16.      // TODO Auto-generated method stub            
  17.      List src = new ArrayList(4);            
  18.      Userinfo ui1 = new Userinfo();           
  19.      ui1.setId(1);             
  20.      ui1.setName("aaa");             
  21.      src.add(ui1);     
  22.        
  23.      Userinfo ui2 = new Userinfo();            
  24.      ui2.setId(2);             
  25.      ui2.setName("bbb");             
  26.      src.add(ui2);      
  27.      System.out.println(src.size());  
  28.        
  29.       
  30.        
  31.      List dest = new ArrayList(2);    
  32.        
  33.      TestMain test = new TestMain();                    
  34.      try {                
  35.          dest = test.deepCopy(src);     //深拷貝        
  36.          }   
  37.      catch (IOException e) {      
  38.              // TODO Auto-generated catch block                
  39.              e.printStackTrace();            
  40.              }    
  41.      catch (ClassNotFoundException e) {       
  42.                  // TODO Auto-generated catch block                
  43.                  e.printStackTrace();            
  44.                  }                   
  45.              System.out.println(src==dest);           
  46.              Userinfo u1 = (Userinfo)src.get(0);  
  47.              Userinfo u2 = (Userinfo)src.get(1);           
  48.              System.out.println(u1.getName());   
  49.              System.out.println(u2.getName());  
  50.              Userinfo uu = (Userinfo)dest.get(0);           
  51.              //uu.setName("dkkdkddk");            
  52.              System.out.println(u1.getName());   
  53.              System.out.println(u2.getName());  
  54.              System.out.println(uu.getName());               
  55.                        
  56.      }  
  57.        
  58.    
  59.  
  60.       public List deepCopy(List src) throws IOException, ClassNotFoundException{   //將list複製並且翻轉   
  61.              ByteArrayOutputStream byteOut = new ByteArrayOutputStream();            
  62.               ObjectOutputStream out = new ObjectOutputStream(byteOut);            
  63.               out.writeObject(src);                  
  64.               ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut.toByteArray());         
  65.               ObjectInputStream in =new ObjectInputStream(byteIn);           
  66.               List dest = (List)in.readObject();            
  67.               return dest;     
  68.                 }  
  69. }  
  70.  

這個測試類,實現的內容是把兩個UserInfor對象存儲進去,然後方法deepCopy是把列表反轉複製。

如果想了解反轉的話,可以看一下API中對ObjectOutputStream的介紹。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章