集合
用数组的方式
定义一个数组存储三个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开始支持 自动装箱和自动拆箱
- 自动装箱:基本类型—>包装类型(引用类型)
- 自动拆箱:包装类型—>基本类型
大学生心得,新手上路,多多指教。