集合
概述
集合与数组类似,也是一种引用类型,也可以存放很多个数据。但是数组的长度不可改变,而集合的长度是可变的,所以使用更加方便。
集合有很多种,现阶段我们学习最为简单的java.util.ArrayList集合。
构造方法
创建一个ArrayList,最常用的就是默认无参数的构造方法:
l public ArrayList()
创建集合的时候要注意尖括号中要指定泛型,也就是里面存放的都是统一的什么数据类型。注意,泛型只能是引用类型,不能是基本类型。
public class Demo01ArrayList {
public static void main(String[] args) {
// 创建一个集合,存放的全都是String字符串类型的数据
ArrayList<String> list1 = new ArrayList<>();
// 泛型只能写引用类型,不能写基本类型,下面是错误写法!
// ArrayList<int> list2 = new ArrayList<>();
}
}
常用方法
集合主要是用来存储数据的,所以常用的方法有:
l public boolean add(E element):向集合中放入一个数据对象,参数是被放入的对象,返回值一定为true。
l public E get(int index):从集合中取出一个对象,参数是对象的索引值(从0开始),返回值是获取的对象。
l public int size():获取集合的长度,返回值是集合的长度int数字,是可以变化的。
public class Demo02ArrayListMethod {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
System.out.println(list); // []
// 向集合当中添加元素:add
list.add("鹿晗");
list.add("吴亦凡");
list.add("张艺兴");
System.out.println(list); // [鹿晗, 吴亦凡, 张艺兴]
boolean success = list.add("关晓彤");
System.out.println("添加元素是否成功:" + success); // true
System.out.println(list); // [鹿晗, 吴亦凡, 张艺兴, 关晓彤]
System.out.println("====================");
String name = list.get(1); // 获取第1号元素
System.out.println(name); // 吴亦凡
System.out.println(list); // [鹿晗, 吴亦凡, 张艺兴, 关晓彤]
System.out.println("====================");
System.out.println("集合的长度:" + list.size()); // 4
list.add("赵丽颖");
list.add("迪丽热巴");
list.add("古力娜扎");
list.add("玛尔扎哈");
System.out.println("集合的长度:" + list.size()); // 8
}
}
存储基本类型
集合的泛型必须是引用类型,不能是基本类型。如果一定要存储基本类型,需要使用对应的包装类(都位于java.lang包下)。基本类型与包装类的对应关系如下:
l byte Byte
l short Short
l int Integer
l long Long
l float Float
l long Long
l char Character
l boolean Boolean
public class Demo04ArrayListWrapper {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
list.add(100);
list.add(200);
list.add(300);
int result = list.get(1);
System.out.println(result); // 200
}
}
存储自定义类型
集合可以存储任何引用类型,包括自定义的Person、Student等各种类。
public class Demo05ArrayListCustom {
public static void main(String[] args) {
// 首先创建几个Person对象
Person one = new Person("迪丽热巴", 18);
Person two = new Person("古力娜扎", 19);
Person three = new Person("玛尔扎哈", 200);
// 准备一个集合,用来存放多个Person对象
ArrayList<Person> list = new ArrayList<>();
// 将对象添加到集合当中
list.add(one);
list.add(two);
list.add(three);
// 遍历集合
for (int i = 0; i < list.size(); i++) {
Person per = list.get(i);
System.out.println("姓名:" + per.getName() + ",年龄:" + per.getAge());
}
}
}
来源:https://www.cnblogs.com/dmndxld/p/11217085.html