lt;String> array = new ArrayList<String>();
//调用集合方法add存储元素
array.add("abc");
array.add("itcast");
array.add("love");
array.add("java");
//输出集合的长度,调用集合方法size, size方法的返回值类型 int
int size = array.size();
System.out.println(size);
//获取出集合中的一个元素,获取1索引的元素
//集合的方法get, 获取元素后结果数据类型
String s = array.get(1);
System.out.println(s);
System.out.println(array.get(0));
System.out.println(array.get(1));
System.out.println(array.get(2));
System.out.println(array.get(3));
}
}
13ArrayList集合的遍历
* A: 案例代码
/*
集合的遍历
实现思想也是索引思想
集合的索引从0开始,到 size()-1
方法get(int index)
*/
import java.util.ArrayList;
public class ArrayListDemo_2{
public static void main(String[] args){
ArrayList<Integer> array = new ArrayList<Integer>();
array.add(121);
array.add(125);
array.add(123);
array.add(120);
array.add(128);
//对集合进行遍历
//使用方法 size+get组合进行遍历
for(int i = 0 ; i < array.size(); i++){
System.out.println( array.get(i) );
}
}
}
14ArrayList补充方法
* A: ArrayList补充方法
* a: add(int 索引,存储的元素) 将元素添加到指定的索引上
* b: set(int 索引,修改后的元素) 将指定索引的元素,进行修改
* c: remove(int 索引) 删除指定索引上的元素
* d: clear() 清空集合中的所有元素
* B: 案例代码
import java.util.ArrayList;
public class ArrayListDemo_3{
public static void main(String[] args){
ArrayList<Integer> array = new ArrayList<Integer>();
array.add(1);
array.add(2);
array.add(3);
array.add(4);
//在索引2上,添加元素7
array.add(2,7);
//将0索引上的元素,修改成10
array.set(0,10);
//将4索引上的元素,删除
array.remove(4);
array.clear();
//使用方法 size+get组合进行遍历
for(int i = 0 ; i < array.size(); i++){
System.out.println( array.get(i) );
}
}
}
15随机点名器案例分析
* A: 随机点名器案例分析
全班同学中随机的找出一名同学,打印这名同学的个人信息。
我们对本案例进行分析,得出如下分析结果:
1.存储全班同学信息(姓名、年龄)
将容器换成集合,集合中存的是Student类型
2.打印全班同学每一个人的信息(姓名、年龄)
遍历集合
3.在班级总人数范围内,随机产生一个随机数,查找该随机数所对应的同学信息
(姓名、年龄)
随机点名器明确地分为了三个功能。如果将多个独立功能的代码写到一起,则代码相对冗长
,我们可以针对不同的功能可以将其封装到一个方法中,将完整独立的功能分离出来。
而在存储同学姓名时,如果对每一个同学都定义一个变量进行姓名存储,
则会出现过多孤立的变量,很难一次性将全部数据持有。
此时,我们采用ArrayList集合来解决多个学生信息的存储问题
16随机点名器代码实现
* A: 随机点名器案例代码
/*
随机点名器,集合改进 (学生的姓名和年龄)
现实中有学生这个事物,使用定义类的形式,描述学生事物
属性: 姓名,年龄
姓名存储了数组, 将容器换成是集合
String[] s = {"",""};
集合中,存储的是学生的姓名吗? 应该存储Student类型
存储学生:
学生类型,存储到集合中
总览: 遍历集合
随机: 随机数,作为索引,到集合中找到元素
三个功能,共享的数据,集合容器,
定义三个方法,必须参数传递集合
*/
import java.util.ArrayList;
import java.util.Random;
public class CallName{
public static void main(String[] args){
//定义集合,存储的是StudentName类型变量
ArrayList <StudentName> array = new ArrayList<StudentName>();
//调用添加方法
add (array);
//调用遍历集合
printArrayList(array);
randomStudentName(array);
}
/*
随机数,当作集合的索引,到集合中找到元素
*/
public static void randomStudentName(ArrayList<StudentName> array ){
Random r = new Random();
int number = r.nextInt( array.size());
//随机数,索引,到集合中get
StudentName s = array.get(number);
System.out.println( s.name +" "+s.age);
}
/*
总览学生的信息,遍历集合
*/
public static void printArrayList(ArrayList<StudentName> array){
for(int i = 0 ; i < array.size();i++){
//存储集合的时候, 集合.add(sn1) sn1 是StudentName类型变量
//获取的时候,集合.get方法,获取出来的是什么, 还是StudentName类型变量
StudentName s = array.get(i);
System.out.println(s.name+" "+s.age);
}
}
/*
定义方法,实现存储学生的姓名和年龄
创建StudentName类型变量,存储到集合中
*/
public static