1.数组
数组有一个缺点:一旦创建,程序运行期间长度不可以发生改变。
关于数组的练习。
题目:定义一个数组,用来存储3个Person对象。
public class Person {
private String name;
private int age;
public Person() {
}
public Person(String name, int age) {
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;
}
}
public class Demo01Array {
public static void main(String[] args) {
Person[] array =new Person[3];
// System.out.println(array[0]);
Person one = new Person("李琪",10);
Person two = new Person("小赵",15);
Person three = new Person("晓得",20);
//将地址值赋值
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[1].getName());
}
}
虽然数组的长度不可以改变,但是ArrayList集合的长度是可以改变的。
2.ArrayList<E>--泛型
对于ArrayList来说,有一个<E>代表泛型。
泛型,也就是装在集合当中的所有元素,全都是统一的什么类型。
注意:泛型只能是引用类型,不能说基本类型。
import java.util.ArrayList;
public class Demo02ArrayList {
public static void main(String[] args) {
ArrayList<String> list =new ArrayList<>();
System.out.println(list);//[]
//向集合当中添加数据,需要用到add方法。
list.add("王宝强");
System.out.println(list);//[王宝强]
list.add("洋气");
list.add("前锋");
list.add("打赏");
System.out.println(list);//[王宝强, 洋气, 前锋, 打赏]
}
}
ArrayList当中常用方法有:
public boolean add(E e);向集合当中添加元素,参数的类型和泛型一致。
public E get(int index);从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素。
public E remove(int index);从集合当中删除元素,参数是索引编号,返回值就是被删除掉的元素。
public int size();获取集合的尺寸长度,返回值是集合中包含的元素个数。
import java.util.ArrayList;
public class Demo03ArrayListMethod {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
System.out.println(list);
//向集合中添加元素 :add
boolean success = list.add("全球");
System.out.println(success);
System.out.println("添加成功了吗:"+success);
list.add("断点");
list.add("海鸥");
list.add("海豚");
System.out.println(list);
//从集合中获取元素:get。索引值从0开始。
String name = list.get(2);
System.out.println("第二好索引位置:"+name);
//从集合中删除元素:remove。索引值从0开始。
String whoRemoved = list.remove(3);
System.out.println("被删除的人是谁:"+whoRemoved);
System.out.println(list);
//获取集合的长度尺寸,也就是其中元素的个数
int size = list.size();
System.out.println("集合的长度是:"+size);
}
}
import java.util.ArrayList;
public class Demo04ArrayListEach {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("迪丽热巴");
list.add("格林尼治");
list.add("马尔罗");
//遍历集合
for (int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
}
}
如果希望向集合ArrayList当中存储基本类型数据,必须使用基本类型对应的“包装类”。
基本类型 包装类(引用类型,包装都位于java.lang包下)
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
import java.util.ArrayList;
public class Demo05ArrayListBasic {
public static void main(String[] args) {
ArrayList<String> listA = new ArrayList<>();
//错误写法。泛型只能说引用类型,不能是基本类型。
// ArrayList<int> listB = new ArrayList<int>();
ArrayList<Integer> listC = new ArrayList<>();
listC.add(10);
listC.add(12);
System.out.println(listC);
int num = listC.get(1);
System.out.println("第一号元素是:"+num);
}
}
ArrayList练习一。
生成6个1-33之间的随机数,添加到集合,并遍历集合。
import java.util.ArrayList;
import java.util.Random;
public class Demo01ArrayListRandom {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
Random r = new Random();
for (int i = 0; i < 6; i++) {
int num = r.nextInt(33)+1;
list.add(num);
}
//遍历集合
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
ArrayList练习二。
自定义4个学生对象,添加到集合,并遍历。
public class Student {
private String name;
private int age;
public Student() {
}
public Student(String name, int age) {
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;
}
}
import java.util.ArrayList;
public class Demo02ArrayListStudent {
public static void main(String[] args) {
ArrayList<Student> list = new ArrayList<>();
Student one = new Student("李琪",10);
Student two = new Student("李鹏",50);
Student three = new Student("李金生",40);
Student four = new Student("李建成",80);
list.add(one);
list.add(two);
list.add(three);
list.add(four);
//遍历集合
for (int i = 0; i < list.size(); i++) {
Student stu = list.get(i);
System.out.println("姓名:"+stu.getName()+",年龄"+stu.getAge());
}
}
}
ArrayList练习三。
定义以指定格式打印集合的方法(ArrayList类型作为参数),使用{},使用@分隔每个元素。
import java.util.ArrayList;
public class Demo03ArrayListPrint {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("张卫健");
list.add("张国荣");
list.add("张翠山");
System.out.println(list);
printArrayList(list);
}
public static void printArrayList(ArrayList<String> list){
// {10@20@30}
System.out.print("{");
for (int i = 0; i < list.size(); i++) {
String name = list.get(i);
if (i==list.size()-1){
System.out.println(name+"}");
}else{
System.out.print(name+"@");
}
}
}
}
ArrayList练习四。
用一个大集合存入20个随机数字,然后筛选其中的偶数元素,放到小集合当中。
要求使用自定义的方法来实现筛选。
import java.util.ArrayList;
import java.util.Random;
public class Demo04ArrayListReturn {
public static void main(String[] args) {
ArrayList<Integer> bigList = new ArrayList<>();
Random r = new Random();
for (int i = 0; i < 20; i++) {
int num = r.nextInt(100)+1;
bigList.add(num);
}
ArrayList<Integer> smallList = getSmallList(bigList);
System.out.println(smallList);
System.out.println("偶数的个数:"+smallList.size());
for (int i = 0; i < smallList.size(); i++) {
System.out.println(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;
}
}
1917

被折叠的 条评论
为什么被折叠?



