1.集合的一些常用操作
package com.xgg.array.test;
import java.util.ArrayList;
/*
* 什么叫做集合呢?
* 集合和已经学过的数组比较类似,本身也是一种引用类型,而且可以保存很多个数据
* 区别在于数组的长度在内存中创建之后就不可以改变,而集合可以随意改变
* 集合包含有好多种,ArrayList、HashSet、LinkedList、HashMap............
*
* java.unit.ArrayList是一个类,使用起来还是3个步骤
* 1.导包 import java.util.ArrayList;
* 2.创建
* 类名称 对象名= new 类名称();
* ArrayList 常用的构造方法 public ArrayList(){}; 默认无参数的构造方法
* ArrayList<泛型> array=new ArrayList<>();
* 泛型:也就是集合当中存放的全都是统一的什么类型的数据
* 注意:泛型只能是引用类型,不能是基本类型
* 3.使用
*
* 如何使用已经创建好的集合,常用的方法有三个
* 1.添加元素
* public boolean add(E element),向集合中添加一个元素,参数是被添加的元素,而返回值一定是true代表成功。
* 2.获取元素
* public E get(int index):从集合中获取一个元素,参数是元素索引(从0开始),返回值就是获取得到的元素对象
* 3.获取长度
* public int sise();获取集合的元素个数,得到int数字
*
* 注意事项:
* ArrayList集合直接打印对象名称,得到的不是地址值,而是内容格式和数组类似
* 简单了解,是因为ArrayList这个类其中的toString方法有特殊处理
* 对于ArrayList集合来说 add添加方法一定是成功的,返回值一定是true,
* 但是对于其他集合add方法就不一定成功了
*
*/
public class DeomArrayList {
public static void main(String[] args) {
//创建一个字符串类型的集合
ArrayList<String> list=new ArrayList<>();
System.out.println(list);//[]
//向集合中添加元素
list.add("刘亦菲");
list.add("迪丽热巴");
list.add("杨幂");
System.out.println(list); //[刘亦菲, 迪丽热巴, 杨幂]
Boolean succer=list.add("赵丽颖");
System.out.println(succer);//true
System.out.println(list);//[刘亦菲, 迪丽热巴, 杨幂, 赵丽颖]
System.out.println("============");
String name=list.get(1);//获取索引为1 的对象值
System.out.println(name);//迪丽热巴
System.out.println("==========");
System.out.println("集合的长度"+list.size());//4
System.out.println("=============遍历集合");
for(int i=0;i<list.size();i++) {
System.out.println(list.get(i));
}
}
}
2.如何存储基本类型的集合
package com.xgg.array.test;
import java.util.ArrayList;
/*
* 集合泛型必须是引用类型,不能是基本类型
* 如果一定要存储基本类型,那么要使用基本类型对应的“包装类”(全部位于java.lang包下,有8 中)
* byte Byte
* int Integer 【特殊】
* short Short
* long Long
* float Float
* double Double
* char Character 【特殊】
* boolean Boolean
* 从jdk1.5开始,基本类型可以和对应的包装类进行自动装箱和拆箱
* 装箱 基本类型-->包装类型
* 拆箱 包装类型-->基本类型
*/
public class DemoArrayListWrapper {
public static void main(String[] args) {
ArrayList<Integer> list=new ArrayList<>();
list.add(100);
list.add(200);
list.add(300);
System.out.println("数组长度:"+list.size());//3
System.out.println(list);//[100, 200, 300]
// 从jdk1.5开始,基本类型可以和对应的包装类进行自动装箱和拆箱
int result=list.get(1);
System.out.println(result);//200
}
}
3.集合可以存放任何一种引用类型的数据,包括我们自己定义的Student类
package com.xgg.array.test;
import java.util.ArrayList;
import com.xgg.String.test.Student;
/*
* 集合可以存放任何一种引用类型的数据,包括我们自己定义的Student类
*/
public class DemoArrayListCustom {
public static void main(String[] args) {
// TODO Auto-generated method stub
Student stu1=new Student("张三",15);
Student stu2=new Student("李四",18);
Student stu3=new Student("王五",40);
//准备一个集合用来存储多个Student对象
ArrayList<Student> list=new ArrayList<>();
//讲对象添加到集合里面去
list.add(stu1);
list.add(stu2);
list.add(stu3);
System.out.println("集合的长度"+list.size());
for(int i=0;i<list.size();i++) {
Student stu=list.get(i);//直接打印stu是在堆中的地址值
System.out.println("姓名:"+stu.getName()+"年龄:"+stu.getAge());
}
}
}