API:应用程序编程接口
引用类型的一般使用步骤:
1.导包 import 包路径.类名称
如果需要使用的目标类,和当前类位于同一个包下,则可以省略导包语句不写。
只有java.lang包下的内容不需要导包,其他的包都需要import语句 。
2.创建
类名称 对象名 =new 类名称();
3.使用
对象名.成员方法名
ArrayList(集合)
1.ArrayList的创建
数组的长度不可以发生改变。但是ArrayList集合的长度是可以随意变化的。
对于Arraylist来说,有一个尖括号<E>代表泛型。
泛型:也就是装在集合当中的所有元素,全都是统一的什么类型。
注意:泛型只能是引用类型,不能是基本类型。
如果希望向集合中添加基本类型的数据,必须使用基本类型对应的“包装类”。
基本类型 包装类(引用类型,包装类都位于java.lang包下,java.lang包下的内容在使用时不用导包)
byte Byte
short Short
int Integer【特殊】
double Double
float Float
boolean Boolean
char Character【特殊】
long Long
注意事项:
对于Arraylist集合来说,直接打印得到的不是地址值,而是内容。
如果内容是空,得到的是空的中括号: [ ] (见代码)
import java.util.ArrayList; //导包,
public class DemoArrayList {
public static void main(String[] args) {
//创建一个ArrayList集合。集合的名称是list,里面装的都是String类型。
ArrayList<String> list=new ArrayList<>();
System.out.println(list); //输出结果是[]
System.out.println("=========================");
//向集合中添加数据,需要用到add方法
list.add("迪丽热巴");
list.add("古力娜扎");
System.out.println(list);
System.out.println("=========================");
//向集合中添加基本类型int型的数据,使用包装类Integer
ArrayList<Integer> listA=new ArrayList<>();
listA.add(1);
listA.add(2);
listA.add(3);
listA.add(4);
System.out.println(listA);
}
}
输出结果:
2.ArrayList中的常用方法
Public boolean add(E e);:
向集合中添加元素,参数类型和范型一致
备注:对于ArrayList集合来说,add添加动作一定是成功的,所以返回值可以不用,但是,对于其他集合来说,add添加操作不一定会成功。
public E get(int index);:
从集合中获取元素,参数是索引编号,返回值是对应位置的元素;
Public E remove (int index);:
从集合中删除元素,参数是索引编号,返回值是被删除的元素;
public int size();:
获取集合的尺寸长度,返回值是集合中包含的元素个数。
eg:
import java.util.ArrayList;
public class DemoArrayListMethod {
public static void main(String[] args) {
ArrayList<String> list=new ArrayList<>();
System.out.println(list);
//向集合中添加元素
boolean sucess= list.add("袁绍");
System.out.println(list);
System.out.println(sucess);
list.add("曹操");
list.add("刘备");
list.add("孙权");
System.out.println(list);
//输出集合的长度
System.out.println("集合的长度是:"+list.size());
System.out.println("=========================");
//从集合中获取元素
String name=list.get(2);
System.out.println("2号索引的位置"+name);
System.out.println("=========================");
//从集合中删除元素
String remove =list.remove(1);
System.out.println("被删除的元素是"+remove);
System.out.println(list);
System.out.println("=========================");
//获取集合的长度
int size=list.size();
System.out.println("删除后集合的长度"+size);
//遍历集合
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
输出结果:
3.有关ArrayList的练习题
1.生成6个1~33之间的随机整数,添加到集合,并遍历集合。
思路:
1.需要存储6个数字,创建一个集合,;
2.产生随机数,需要用到Random;
3.用循环6次,产生6个随机数字: for循环;
4.循环内调用r. nextInt(int n),参数是33,范围时[0,32),然后整体加1;
5.把数字添加到集合中: add();
6.遍历集合: for. size、get
代码:
import java.util.ArrayList;
import java.util.Random;
public class DemoArrayListRandem {
public static void main(String[] args) {
ArrayList<Integer> ALRandem=new ArrayList<>();
Random r=new Random();
for (int i = 0; i < 6; i++) {
int num=r.nextInt(33)+1;
ALRandem.add(num);
}
for (int i = 0; i < ALRandem.size(); i++) {
System.out.print(ALRandem.get(i)+" ");
}
}
}
结果:
2.自定义4个学生对象,添加到集合,并遍历。
思路:
1.自定义Student学生类, 四个部分。
2.创建一个集合,用来存储学生对象。泛型:
3.根据类,创建4个学生对象。
4.将4个学生对象添加到集合中: add
5.遍历集合: for、size、get
代码:
创建一个学生类Student
public class Student {
private String name;//姓名
private int age;//年龄
//无参数的构造方法
public Student() {
}
//全参数的构造方法
public Student(String name, int age) {
this.name = name;
this.age = age;
}
//name的getter/setter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
//age的getter/setter方法
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
创建集合,添加和遍历
import java.util.ArrayList;
import java.util.Random;
public class DemoArrayListStudent {
public static void main(String[] args) {
//创建集合
ArrayList<Student> list =new ArrayList<>();
//自定义4个学生对象
Student one =new Student("张三",20);
Student two =new Student("李四",20);
Student three =new Student("王二麻",20);
Student four =new Student("孙五",20);
//添加到集合
list.add(one);
list.add(two);
list.add(three);
list.add(four);
//遍历集合
for (int i = 0; i < list.size(); i++) {
Student st=list.get(i);
System.out.println("姓名:"+st.getName()+
",年龄:"+st.getAge());
}
}
}
结果:
3.定义以指定格式打印集合的方法(Arraylist类型作为参数),使用{}扩起集合,使用@分隔每个元素。格式参照{元素@元素@元素}。
思路:
1.创建一个集合,用来存储需要打印的对象。泛型:
2.构造打印函数 printArryList(参数类型为ArrayList)
import java.util.ArrayList;
public class DemoArrayListPrint {
public static void main(String[] args) {
ArrayList<String> list=new ArrayList<>();
list.add("张三丰");
list.add("张无忌");
list.add("张翠山");
list.add("殷素素");
list.add("赵敏");
System.out.println(list);
System.out.println("===========================");
printArryList(list);
}
/*
方法定义的三要素:
返回值类型:无返回值,所以为void
方法名称:printArryList
参数列表:ArrayList<String>(参数类型) list(参数名称)
*/
public static void printArryList(ArrayList<String> list){
System.out.print("{");
for (int i = 0; i < list.size(); i++) {
String name=list.get(i);
if(i==list.size()-1){
System.out.print(name+"}");
}
else
System.out.print(name+"@");
}
}
}
输出结果:
4.用一个大集合存入20个随机数字,然后筛选其中的偶数元素,放到小集合当中,要求使用自定义的方法来实现筛选。
思路:
1.创建集合存储20个int型随机数字:范型:
2.随机数字:Random nextInt();
3.for循环20次,生成随机数,添加到集合中去
4.定义一个方法,筛选偶数元素,得到小集合。
方法三要素:
返回值类型:ArrayList (小集合,元素个数不确定)
方法名称:getSmallList
参数列表:ArrayList (大集合,里面有20个随机数)
筛选出偶数:%2==0;
判断:如果是偶数,放入小集合,如果不是,不放。
代码:
import java.util.ArrayList;
import java.util.Random;
public class DemoArrayListReturn {
public static void main(String[] args) {
//创建大集合,存储20个**int型**随机数字:范型:<Integer>
ArrayList<Integer> bigList = new ArrayList<>();
//生成20个随机数,添加到大集合中去
Random r = new Random();
for (int i = 0; i < 20; i++) {
int num = r.nextInt(100) + 1;
bigList.add(num);
}
System.out.println(bigList);
System.out.println("====================");
ArrayList<Integer> smallList =getSmallList(bigList);
System.out.println("总共有"+smallList.size()+"个偶数。");
for (int i = 0; i < smallList.size(); i++) {
System.out.print(smallList.get(i)+" ");
}
}
//构造函数,从大集合中筛选偶数,放入小集合中去。
public static ArrayList<Integer> getSmallList(ArrayList<Integer> bigList) {
ArrayList<Integer> smallList = new ArrayList<>();
for (int i = 0; i < bigList.size(); i++) {
int num = bigList.get(i);
if (num % 2 == 0) {
smallList.add(num);
}
}
return smallList;
}
}