Day16
一、学习目标
1.数组
2.Arraylist类
3.Arraylist的使用
二、知识点
1.数组:可以储存两种类型的数据,储存引用类型
(缺陷:数组一旦创建,运行期间长度不可更改)
2.ArrayList类:java.util.ArrayList是大小可变的数组的实现,存储在类的数据称为元素。此类提供一些方法来操作内部存储的元素。ArrayList中可不断添加元素,其大小也自动增长。
3.Arraylist的使用:查看类
java.util.ArrayList ∶该类需要import导入使后使用。
表示一种指定的数据类型,叫做泛型。E,取自Element(元素)的首字母。在出现E的地方,我们使用一种引用数据类型将其替换即可,表示我们将存储哪种引用类型的元素。
如:ArrayList,ArrayList;
查看构造方法:ArrayList list =new ArrayList<>();
三、应用运行
1.数组
代码示例
package demo01;
public class Demo01Array {
public static void main(String[] args) {
//int[] arraytemp1={1,2,3};
//int[] arraytemp=new int{3};
Person[] array=new Person[3];
Person one=new Person("迪丽热巴",29);
Person two=new Person("姚明",45);
Person three=new Person("赵丽颖",32);
array[0]=one;
array[1]=two;
array[2]=three;
System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
System.out.println(array[2].getName());
}
}
通过Person打印出来
package demo01;
public class Person {
private String name;
private int age;
public Person() {
}
public Person(String mane,int age) {
super();
this.name =name;
this.age = age;
}
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 有一个尖括号表示泛型
泛型:就是集合中所的元素都是统一的类型
注意:泛型,只能是引用数据类型,不能是基本类型
对于ArrayList集合而言,直接打印得到的不是地址值 而是内容
如果内容为空,那么得到的实[ ]
代码示例
package demo01;
import java.util.ArrayList;
public class Demo02ArrayList {
public static void main(String[] args) {
//定义了一个ArrayList集合,集合的名字叫list,集合里面的类型都是String
//注意:jdk 1.7之后,右侧尖括号内的类型可以省略不写,但是左边一定要写
ArrayList<String> list=new ArrayList<>();
System.out.println(list);
list.add("迪丽热巴");
System.out.println(list);
System.out.println("----------");
list.add("吴磊");
list.add("赵露思");
System.out.println(list);
//错误写法
//list.add(100);
}
}
运行结果
3.Arraylist的使用
代码示列
public boolean add(E e);
备注:对于ArrayList来说,添加动作一定会成功
public E get(int inde)从集合中获取元素,index为ArrayList索引值
public E remove(int inde)从集合中移除指定位置的元素,返回值为储存的实际类型
package demo01;
import java.util.ArrayList;
public class Demo03ArrayListMethod {
public static void main(String[] args) {
ArrayList<String> list =new ArrayList<>();
boolean success =list.add("四大天王");
System.out.println("添加是否成功"+success);
System.out.println(list);
list.add("刘德华");
list.add("黎明");
list.add("郭富城");
list.add("张学友");
System.out.println(list);
//下标从零开始
String name=list.get(3);
System.out.println("索引3号位置是:"+name);
int size1=list.size();
System.out.println(size1);
String whoRemoved=list.remove(3);
System.out.println("被移除的是"+whoRemoved);
System.out.println(list);
int size2=list.size();
System.out.println(size2);
System.out.println("----------");
for(int i=0;i<list.size();i++) {
System.out.println(list.get(i));
}
}
}
运行结果
补充装箱
代码示例
byte Byte
short Short
int Integer【特殊】
long Long
float Float
double Double
char Char
boolean Boolean
自动装箱,基本数据类型–>包装类型
自动拆箱,包装类型—>基本类型
package demo01;
import java.util.ArrayList;
public class Demo04ArrayListBasic {
public static void main(String[] args) {
ArrayList<String> listA =new ArrayList<>();
//错误写法,泛型<>只能引用数据类型
//ArrayList<int> listB=new ArrayList<>();
ArrayList<Integer> listB=new ArrayList<>();
listB.add(100);
listB.add(200);
System.out.println(listB);
//获取元素
int num=listB.get(1);
ArrayList<Double> listC=new ArrayList<>();
listC.add(0.5);
System.out.println(listC);
}
}
运行结果
2020080605051