1. 程式人生 > >Java第十六天學習筆記(基本資料物件、集合框架)

Java第十六天學習筆記(基本資料物件、集合框架)

基本資料物件

基本資料型別物件包裝類
         * 為了方便操作基本資料型別值,將其封裝成了物件,在物件中定義了屬性和行為豐富了該資料的操作。
         * 用於描述該物件的類就稱為基本資料型別物件包裝類。

該包裝物件主要用基本型別和字串之間的轉換。
         * 
         * 基本型別--->字串
         *         1,基本型別數值+""
         *         2,用String類中的靜態方法valueOf(基本型別數值);
         *         3,用Integer的靜態方法valueO(基本型別數值);
         * 
         * 字串--->基本型別
         *         1,使用包裝類中的靜態方法   xxx parseXxx("xxx型別的字串");*****
         *             int parseInt("intstring");
         *             long parseLong("longstring");
         *             boolean parseBoolean("booleanstring");
         *             只有Character沒有parse方法 
         *         2,如果字串被Integer進行物件的封裝。
         *             可使用另一個非靜態的方法,intValue();
         *             將一個Integer物件轉成基本資料型別值。

public class WrapperDemo {
 
	/**
	 * @param args
	 */
	public static void main(String[] args) {
 
		/*
		 * 基本資料型別物件包裝類。
		 * 為了方便操作基本資料型別值,將其封裝成了物件,在物件中定義了屬性和行為豐富了該資料的操作。
		 * 用於描述該物件的類就稱為基本資料型別物件包裝類。
		 * 
		 * byte		Byte
		 * short	Short
		 * int		Integer
		 * long		Long
		 * float	Float
		 * double	Double
		 * char		Character
		 * boolean	Boolean
		 * 
		 * 該包裝物件主要用基本型別和字串之間的轉換。
		 * 
		 * 基本型別--->字串
		 * 		1,基本型別數值+""
		 * 		2,用String類中的靜態方法valueOf(基本型別數值);
		 * 		3,用Integer的靜態方法valueO(基本型別數值);
		 * 
		 * 字串--->基本型別
		 * 		1,使用包裝類中的靜態方法   xxx parseXxx("xxx型別的字串");*****
		 * 			int parseInt("intstring");
		 * 			long parseLong("longstring");
		 * 			boolean parseBoolean("booleanstring");
		 * 			只有Character沒有parse方法 
		 * 		2,如果字串被Integer進行物件的封裝。
		 * 			可使用另一個非靜態的方法,intValue();
		 * 			將一個Integer物件轉成基本資料型別值。
		 * 
		 * 
		 */
		
		
//		System.out.println(Integer.MAX_VALUE);
		
//		System.out.println(Integer.toBinaryString(-6));
		
//		int num = 4;
//		Integer i = new Integer(5);
		
//		int x = Integer.parseInt("123");
//		System.out.println(Integer.parseInt("123")+1);
		
//		Integer i = new Integer("123");		
//		System.out.println(i.intValue());
		
		
		/*
		 * 整數具備不同的進位制體現。
		 * 
		 * 十進位制-->其他進位制。
		 * 		toBinaryString
		 * 		toOctalString
		 * 		toHexString
		 * 
		 * 其他進位制-->十進位制。
		 * 		parseInt("string",radix)
		 * 
		 */
		
//		十進位制-->其他進位制。
		System.out.println(Integer.toBinaryString(60));
		System.out.println(Integer.toOctalString(60));
		System.out.println(Integer.toHexString(60));
		
		
//		System.out.println(Integer.toString(60,16));
//		其他進位制-->十進位制。
//		System.out.println(Integer.parseInt("3c",16));
		
		
		Integer a = new Integer("89");
		Integer b = new Integer(300);
		
		System.out.println(a==b);
		
		System.out.println(a.equals(b));
		
//		System.out.println(3>3);
		System.out.println(a.compareTo(b));
		
		
		
	}
 
}

集合框架

一、集合類的由來:

    物件用於封裝特有資料,物件多了需要儲存,如果物件的個數不確定。

    就使用集合容器進行儲存。

二、集合特點:

  1. 用於儲存物件的容器。
  2. 集合的長度是可變的。
  3. 集合中不可以儲存基本資料型別值。

集合容器因為內部的資料結構不同,有多種具體容器。

不斷的向上抽取,就形成了集合框架。

集合的常見方法

框架的頂層Collection介面:

Collection的常見方法:

1,新增。

    boolean add(Object obj):

    boolean addAll(Collection coll):    

2,刪除。

    boolean remove(object obj):

    boolean removeAll(Collection coll);

    void clear();   

3,判斷:

    boolean contains(object obj):

    boolean containsAll(Colllection coll);

    boolean isEmpty():判斷集合中是否有元素。 

4,獲取:

    int size():

    Iterator iterator():取出元素的方式:迭代器。

    該物件必須依賴於具體容器,因為每一個容器的資料結構都不同。

    所以該迭代器物件是在容器中進行內部實現的。

    對於使用容器者而言,具體的實現不重要,只要通過容器獲取到該實現的迭代器的物件即可,

    也就是iterator方法。    

    Iterator介面就是對所有的Collection容器進行元素取出的公共介面。

    其實就是抓娃娃遊戲機中的夾子!      

5,其他:

    boolean retainAll(Collection coll);取交集。

    Object[] toArray():將集合轉成陣列

迭代器

import java.util.ArrayList;

import java.util.Collection;
import java.util.Iterator;
public class IteratorDemo 
{
	public static void mian(String[] args)
	{
		Collection coll=new ArrayList();
	
		coll.add("abc1");
		coll.add("abc2");
		coll.add("abc3");
		coll.add("abc4");
		
		for(Iterator it=coll.iterator();it.hasNext();)
		
		{
		System.out.println(it.next());
		}
	}
}