1. 数组的缺点
数组有一个缺点:一旦创建,程序运行期间长度不可以发生改变。
public class Demo01Array {
public static void main(String[] args) {
Person[] array = new Person[3];
Person one = new Person("迪丽热巴", 18);
Person two = new Person("古力娜扎", 28);
Person three = new Person("马尔扎哈", 38);
array[0] = one;
array[1] = two;
array[2] = three;
System.out.println(array[1].getName());
System.out.println(array[2].getName());
}
}
package day07.demo04;
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public Person() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
2. ArrayList基本用法
ArrayList集合的长度是可以改变的 对于ArrayList来说,有一个尖括号<E>表示泛型。 泛型:也就是装在集合当中的所有元素,全都是统一的类型。(String、Person、Student et.al) 注意:泛型只能是引用类型,不能是基本类型。 注意事项: 对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。 如果内容是空,得到的是空的中括号: []
package day07.demo04;
import java.util.ArrayList;
/*
数组的长度不可以发生改变。
但是ArrayList集合的长度是可以改变的
对于ArrayList来说,有一个尖括号<E>表示泛型。
泛型:也就是装在集合当中的所有元素,全都是统一的类型。(String、Person、Student et.al)
注意:泛型只能是引用类型,不能是基本类型。
注意事项:
对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。
如果内容是空,得到的是空的中括号: []
使用方法:
1. 导包
2. 创建
3. 使用
*/
public class Demo02ArrayList {
public static void main(String[] args) {
//创建一个ArrayList集合,集合的名称是list,里面装的全都是String字符串类型的数据
//备注:从JDK 1.7+开始,右侧的尖括号内容可以不写,但是<>本身还是要写的。
ArrayList<String> list = new ArrayList<>();
System.out.println(list);
// int[] array = new int[10];
// System.out.println(array.length);
//向集合当中添加一些数据,需要用到add方法。
list.add("赵丽颖");
list.add("迪丽热巴");
list.add("古力娜扎");
// list.add(100); // 错误写法
}
}
3. ArrayList常用方法
ArrayList当中的常用方法有: public boolean add(E e):向集合当中添加元素,参数的类型和泛型一致。返回值代表添加是否成功。 备注:对于ArrayList集合来说,add添加动作一定是成功的,所以返回值可用可不用。 但是对于其他集合来说,add添加动作不一定成功。 public E get(int index):从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素。 publicE remove(int index):从集合当中删除元素,参数是索引编号,返回值就是被删除掉的元素。 public int size():获取集合的尺寸长度,返回值是集合中包含的元素个数。
package day07.demo04;
import java.util.ArrayList;
/*
ArrayList当中的常用方法有:
public boolean add(E e):向集合当中添加元素,参数的类型和泛型一致。返回值代表添加是否成功。
备注:对于ArrayList集合来说,add添加动作一定是成功的,所以返回值可用可不用。
但是对于其他集合来说,add添加动作不一定成功。
public E get(int index):从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素。
publicE remove(int index):从集合当中删除元素,参数是索引编号,返回值就是被删除掉的元素。
public int size():获取集合的尺寸长度,返回值是集合中包含的元素个数。
*/
public class Demo03ArrayListMethod {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
System.out.println(list);
boolean success = list.add("迪丽热巴");
System.out.println("添加的动作是否成功:" + success);
list.add("古力娜扎");
list.add("马尔扎哈");
System.out.println(list);
// 从集合中获取元素:get。索引值从0开始。
String name = list.get(1);
System.out.println("第2号索引位置:" + name);
// 从集合中删除元素:remove。索引值从0开始。
String whoRemoved = list.remove(2);
System.out.println("谁被删除了:" + whoRemoved);
System.out.println(list);
// 获取集合的长度尺寸,也就是其中元素的个数
int size = list.size();
}
}
4. ArrayList存储基本类型数据
package day07.demo04;
import java.util.ArrayList;
/*
如果希望向集合ArrayList当中存储基本类型数据,必须使用基本数据类型对应的“包装类”。
基本类型 包装类 (引用类型,包装类都位于java.lang包下)
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
从JDK 1.5+开始,支持自动装箱、自动拆箱。
自动装箱:基本类型 -> 包装类型 (int -> Integer)
自动拆箱:包装类型 -> 基本类型 (Integer -> int)
*/
public class Demo05ArrayListBasic {
public static void main(String[] args) {
ArrayList<String> listA = new ArrayList<>();
ArrayList<Integer> listB = new ArrayList<>();
listB.add(100);
listB.add(200);
System.out.println(listB);
int num = listB.get(1);
System.out.println("第一号元素是:" + num);
}
}