程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Java基礎學習總結--對象容器,java--對象容器

Java基礎學習總結--對象容器,java--對象容器

編輯:JAVA綜合教程

Java基礎學習總結--對象容器,java--對象容器


目錄:

  • ArrayList 順序泛型容器
  • HashSet 集合容器
  • HashMap<Key,Value>容器

 

 

要用Java實現記事本的功能。首先列出記事本所需功能:

如果這個記事本是某個大程序的其中一部分,也就是說還有上層程序,那麼上層程序就有可能會調用這個記事本以上列出的某個數據。

所以我們稱上述所列功能為這個記事本的 接口

那麼調用這些接口就是通過記事本這個類的public函數(method)。

 

但是,怎麼實現記錄呢?顯然所記錄的字符串不能記錄在某個數組裡,因為數組的長度是預先設定好的。這時就要用到 泛型容器 Arraylist<> ,這個arraylist也是系統的一個類,所以在使用它的時候要定義一個新的對象出來:private Arraylist<String> notes = new Arraylist<String>();  還要聲明 import java.util.ArrayList;

arraylist可以任意往裡面存放數據,不限數目,這就實現了記事本的要求。

arraylist的基本操作: Arraylist<String> notes

  • notes.add()
  • notes.size()
  • notes.remove(index)
  • notes.get(index)
  • notes.toArray(String[] a=new String[notes.size()])

通過以上操作實現記事本的接口函數。

 

1 package notebook; 2 3 import java.util.ArrayList; 4 5 public class Notebook { 6 7 private ArrayList<String> notes = new ArrayList<String>(); 8 9 public void add(String s) { 10 notes.add(s); 11 } 12 13 public int getSize() { 14 return notes.size(); 15 } 16 17 public void removeNote(int index) { 18 notes.remove(index); 19 } 20 21 public String getNote(int index) { 22 return notes.get(index); 23 } 24 25 public String[] list() { 26 String[] a = new String[notes.size()]; 27 notes.toArray(a); 28 return a; 29 } 30 31 public static void main(String[] args) { //test 32 Notebook nb = new Notebook(); 33 nb.add("frist"); 34 nb.add("second"); 35 System.out.println(nb.getSize()); 36 String[] a = nb.list(); 37 for(String s:a) { 38 System.out.println(s); 39 } 40 } 41 42 } Notebook.java

 運行:

 

 

-----------------------------------------------------------------------------------------

另外,容器類型還有集合容器(Set),如HashSet,同樣是一個類,所具有的特性是內部元素是不排序的,不能有重復的元素,與數學裡的集合概念相同。

 由程序運行結果可以看到ArrayList 和HashSet 這兩種容器的不同。

注意:由程序還可以看到,兩個容器的輸出不再是把容器的每個元素賦值給另一個數組,再通過for each循環把數組裡的每個元素輸出。在這裡我們是直接println出來了一個容器的對象,是可以的。這是因為:{

             如第一個紅框所示,如果一個類裡有“public String toString() {}”函數,則可以直接println這個類的對象名,輸出的時候會自動調用toString函數的,如第二個紅框所示。所以,我們猜測,ArrayList和HashSet這兩個公共類源文件裡一定也有“public String toString() {}” 類似的函數

             }

-----------------------------------------------------------------------------------------

HashMap容器: HashMap<Key,Value>


一個鍵對應一個值,當給一個鍵多次put之後,這個鍵對應最後put的值,如圖:(一個輸入面額,輸出多對應美元名稱的程序,如:1美分叫做1penny。)

 

HashMap的遍歷:

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved