java日記2
阿新 • • 發佈:2021-02-04
技術標籤:java
集合
用陣列的方式
定義一個數組儲存三個Person物件
Person [] per =new Person[3];
Person one =new Person("wang",12);
Person two =new Person("zhang",32);
Person three =new Person("cui",42);
per[0]=one;
per[1]=two;
per[2]=three;
System. out.println(per[0]);
System.out.println(per[1]);
System.out.println(per[2]);
System.out.println(per[2].getName());
用ArrayList來定義
ArrayList在java.util包下,用import導包,是有序集合,按序儲存
import java.util.ArrayList;
/*
* public boolean add(E e);向集合中新增元素,引數的型別和泛型一致
* public E get(int index);從集合中獲得元素,引數是索引編號,返回值是對應位置的元素
* public E remove(int index);從集合當中刪除元素,引數是索引編號,返回值是被刪除掉的元素
* public int size();獲得集合的尺寸長度,返回值是集合中包含的元素個數
* */
public class Demo02ArrayListMethod {
public static void main(String[] args) {
ArrayList<String> list =new ArrayList<String>();
//ArrayList<String> list = new ArrayList<>();後來的高版本支援new後面的尖括號內不加元素型別
System.out.println(list);//重寫toString()方法,toString方法是Object類的方法
String a="ads";//堆中的字串常量池
String b=new String("lo");//堆中new一片空間
System.out.println(a+" and "+b);
boolean success = list.add("AAA");
System.out.println(list);
System.out.println(success);
list.add("BBB");
list.add("CCC");
list.add("DDD");
list.add("王");
System.out.println(list);
System.out.println("第二號索引位置是:"+list.get(2));
System.out.println("改變前集合的長度:"+list.size());
System.out.println(list.remove(4));;
System.out.println(list);
System.out.println("改變後集合的長度:"+list.size());
}
}
包裝類
特別指出,ArrayList中只能存放引用資料型別,準確說java所有的集合中都只能存放引用資料型別,故寫出
ArrayList<int> list = new ArrayList<>();
是錯誤的寫法,因為int等屬於基本資料型別
但是java有包裝類,所以int型的資料換一種方式去儲存,用Integer類
我們去存Integer類的實現物件即可,內含一個int value,我找到的原始碼中的構造方法
public Integer(int value) {
this.value = value;
}
我們創造的時候可以使用
Integer i = new Integer(1);
在idea中
可以看出方法已被淘汰,還有其他方法,比如praseInt(String string);
裝箱和拆箱
裝箱:把基本型別的資料,包裝到包裝類中(基本型別的資料->包裝類)
構造方法:
Integer(int value)構造一個新分配的Integer 物件,它表示指定的int值
Integer(String s)構造一個新分配的Integer物件,它表示String引數所指示的int值
傳遞的字串必須是基本型別的字串,否則會丟擲異常,如“100”正確 “abc”錯誤
靜態方法:
public static Integer valueOf(int i)返回一個表示指定的int值的Integer例項
public static Integer valueOf(String s)返回儲存指定的String值的Integer物件
拆箱:在包裝類中取出基本型別的資料(包裝類->基本型別的資料)
成員方法:
public int intValue() {
return value;
}
int intValue()以int型別返回該Integer的值
如果希望向集合中存放基本資料型別,必須使用基本資料型別對應的包裝類
- 基本型別 包裝類(引用型別,都位於java.lang包下)
Integer i1 = new Integer(1);
Integer i2 = Integer.parseInt("123");
Integer i3 = Integer.valueOf(1);
Integer i4 = Integer.valueOf("123");
基本資料型別 | 引用資料型別 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
- 從JDK1.5開始支援 自動裝箱和自動拆箱
- 自動裝箱:基本型別—>包裝型別(引用型別)
- 自動拆箱:包裝型別—>基本型別
大學生心得,新手上路,多多指教。