java 集合代码_【05】Java入门05:Java集合

一、对象数组

1.对象数组概述

①基本类型的数组:存储的元素为基本类型。

int[] arr={1,2,3,4}

②对象数组:存储的元素为引用类型。

Student[] stus = new Student[3];

二、集合类之ArrayList

1.集合概述

我们学习的是面向对象编程语言,而面向对象编程语言对事物的描述都是通过对象来体现的。为了方便对多个对象进行操作,我们就必须对这多个对象进行存储,而要想对多个对象进行存储,就不能是一个基本的变量,而应该是一个容器类型的变量。

2.ArrayList集合

1) 集合类的特点

长度可变。

2) ArrayList

大小可变数组的实现。

①:是一种特殊的数据类型,泛型。

②在出现E的地方我们使用引用数据类型替换即可。

③举例:ArrayList,ArrayList。

3) 构造方法

①ArrayList()。

4) 添加元素

①public boolean add(Ee):添加元素。

②public void add(int index,Eelement):在指定的索引处添加一个元素。

5) 代码案例

public class ArrayListDemo {

public static void main(String[] args) {

//创建集合对象

ArrayList array = new ArrayList();

//add(E e):添加元素

array.add("hello");

array.add("world");

array.add("java");

//add(int index,E element):在指定的索引处添加一个元素

//array.add(1, "android");

System.out.println("array:"+array);

}

}

3.ArrayList删改查方法

1) 获取元素

①public E get(int index):返回指定索引处的元素。

2) 集合长度

①public int size():返回集合中的元素的个数。

3) 删除元素

①public boolean remove(Object o):删除指定的元素,返回删除是否成功。

②public E remove(int index):删除指定索引处的元素,返回被删除的元素。

4) 修改元素

①public E set(int index,E element):修改指定索引处的元素,返回被修改的元素。

5) 代码案例

public class ArrayListDemo2 {

public static void main(String[] args) {

//创建集合对象

ArrayList array = new ArrayList();

//添加元素

array.add("hello");

array.add("world");

array.add("java");

//public E get(int index):返回指定索引处的元素

//System.out.println("get:"+array.get(0));

//System.out.println("get:"+array.get(1));

//System.out.println("get:"+array.get(2));

//public int size():返回集合中的元素的个数

//System.out.println("size:"+array.size());

//public boolean remove(Object o):删除指定的元素,返回删除是否成功

//System.out.println("remove:"+array.remove("world"));//true

//System.out.println("remove:"+array.remove("world"));//false

//public E remove(int index):删除指定索引处的元素,返回被删除的元素

//System.out.println("remove:"+array.remove(0));

//public E set(int index,E element):修改指定索引处的元素,返回被修改的元素

System.out.println("set:"+array.set(1, "android"));

//输出

System.out.println("array:"+array);

}

}

4.以简单的学生管理系统为例,巩固ArrayList的使用

package manager;

public class Student {

private String id;

private String name;

private String age;

private String address;

// 学生类的构造方法

public Student(String id, String name, String age, String address) {

this.id = id;

this.name = name;

this.age = age;

this.address = address;

}

// 学号的获取和重置

public String getId() {

return this.id;

}

public void setId(String id) {

this.id = id;

}

// 姓名的获取和重置

public String getName() {

return this.name;

}

public void setName(String name) {

this.name = name;

}

// 年龄的获取和重置

public String getAge() {

return this.age;

}

public void setAge(String age) {

this.age = age;

}

// 地址的获取和重置

public String getAddr() {

return this.address;

}

public void setAddr(String address) {

this.address = address;

}

}

package manager;

import java.util.ArrayList;

/*

* System.exit(0);

* 删除时,使用==查找不行,然后使用equals才可以

*/

import java.util.Scanner;

public class Manager {

private static Student s;

private static Scanner scan;

public static void main(String[] args) {

ArrayList array = new ArrayList();

while(true) {

System.out.println("--------学生管理系统欢迎您---------");

System.out.println(" 1:添加学生");

System.out.println(" 2:删除学生");

System.out.println(" 3:修改学生");

System.out.println(" 4:查找学生");

System.out.println(" 5:查看所有学生");

System.out.println(" 6:退出管理系统");

System.out.println("请输入您的选择:");

scan = new Scanner(System.in);

String input = scan.nextLine();

switch(input) {

case "1":

addStu(array);

break;

case "2":

// 删除

removeStu(array);

break;

case "3":

// 修改

changeStu(array);

break;

case "4":

// 查找

find(array);

case "5":

// 查看所有

findAll(array);

break;

case "6":

// 退出程序执行

System.exit(0);

break;

default:

System.out.println("请输入1-6的范围");

break;

}

}

}

// 添加学生

public static void addStu(ArrayList array) {

System.out.println("请输入添加学生编号:");

String id = scan.nextLine();

System.out.println("请输入该学生姓名:");

String name = scan.nextLine();

System.out.println("请输入该学生年龄:");

String age = scan.nextLine();

System.out.println("请输入您想添加的地址:");

String address = scan.nextLine();

s = new Student(id, name, age, address);

array.add(s);

System.out.println("添加学生成功...");

}

// 删除学生

public static void removeStu(ArrayList array) {

if(array.size()==0) {

System.out.println("不好意思,当前没有学生信息可供删除,请回去重试!");

return;

}

System.out.println("请输入需要删除学生的姓名:");

String input = scan.nextLine();

for(int i=0; i

s = array.get(i);

if(input.equals(s.getName())) {

array.remove(i);

}else {

System.out.println("不好意思,学生系统中没有这个学生");

}

}

}

// 修改学生信息

public static void changeStu(ArrayList array) {

if(array.size()==0) {

System.out.println("不好意思,当前没有学生信息可供修改,请回去重试!");

return;

}

System.out.println("请输入需要修改学生的姓名:");

String input = scan.nextLine();

for(int i=0; i

s = array.get(i);

if(input.equals(s.getName())) {

System.out.println("请输入修改后的学生编号:");

String id = scan.nextLine();

s.setId(id);

System.out.println("请输入修改后的学生姓名:");

String name = scan.nextLine();

s.setName(name);

System.out.println("请输入修改后的学生年龄:");

String age = scan.nextLine();

s.setAge(age);

System.out.println("请输入修改后的的地址:");

String address = scan.nextLine();

s.setAddr(address);

System.out.println("修改完毕");

}

}

}

// 查找学生信息

public static void find(ArrayList array) {

if(array.size()==0) {

System.out.println("不好意思,当前没有学生信息可供修改,请回去重试!");

return;

}

System.out.println("请输入需要查找的姓名:");

String input = scan.nextLine();

for(int i=0; i

if(input.equals(s.getName())) {

System.out.println("找到了...");

}

}

}

// 查看所有学生

public static void findAll(ArrayList array) {

if(array.size() == 0) {

System.out.println("不好意思,当前没有学生信息可供查询,请回去重试!");

return;

}

//"\t"是一个tab键

System.out.println("学号\t姓名\t年龄\t地址");

for(int i=0; i

// 从集合中取出一个学生信息

s = array.get(i);

System.out.println(s.getId()+"\t"+s.getName()+"\t"+s.getAge()+"\t"+s.getAddr());

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值