>### 集合 ArrayList:
~~~
集合:用于存放不同类型的多个数据(长度可以不确定,可以自动
扩容)
~~~
~~~
学习集合要从以下三个方面入手:
1.添加 2.取值(查找)3.删除
~~~
ArrayList al=new ArrayList();
>#### 1.添加方法:
~~~
al.add(12) al.add(12.5) al.add("hello")
ArrayList al2=new ArrayList();
al2.addAll(al);//将集合中的元素取值到另一个新的集合中
al.add(1,"world")//将指定的元素插入到此列表中的指位置。
1代表下标是1
~~~
>#### 2.取值方法:
~~~
不管存入的是什么类型,都返回Object(所有类型父类)类型
1.int a=(Integer)al.get(0);System.out.println(a);
2.System.out.println(al.get(0));
3.Object obj=al.get(0);System.out.println(obj);
集合的遍历:
for(int i=0;i<al.size();i++){
System.out.println(al.get(i));
}
~~~
>#### 3.删除方法:
~~~
al.remove(3);//根据下标移除指定对象
al.remove(12.3)//根据元素移除,移除第一次出现的元素,
后面的元素下标会+1;boolean,返回删除是否成功
注意:不会移除整数元素,如集合里有一个整数元素12,
如果al.remove(12),
是移除下标位置在12的元素,不是移除整数元素
al.clear()//清空所有
boolean b=al.contains("hello");//判断此集合中是否包含此元素
int index=al.indexOf("hello")返回指定元素第一次出现的下标
boolean c=al.isEmpty();//如果此集合中一个元素也没有,则返回true,有元素的话则返回fals
~~~
学生管理系统案例:
~~~
1.创建学生类
public class Stu {
private String sno;
private String name;
private int age;
public String getSno(){
return sno;
}
public void setSno(String sno){
this.sno=sno;
}
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;
}
}
2.学生管理系统界面实现
import java.util.ArrayList;
import java.util.Scanner;
public class StuManager {
private ArrayList al;
public StuManager(){
al=new ArrayList();
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
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("请输入你的选择:");
int choose=sc.nextInt();
switch(choose){
case 1:
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
System.out.println("退出");
System.exit(0);
break;
}
}
}
}
3.学生管理系统之添加学生功能
System.out.println("请输入学生学号:");
String sno2 = sc.next();
System.out.println("请输入学生姓名:");
String name2 = sc.next();
System.out.println("请输入学生年纪:");
int age2 = sc.nextInt();
Stu s = new Stu();
s.setSno(sno2);
s.setName(name2);
s.setAge(age2);
al.add(s);
System.out.println("添加成功");
sm.addStu(s);
4.学生管理系统之查询所有学生功能
for (int i = 0; i < al.size(); i++) {
Stu s = (Stu) al.get(i);
System.out.println("学生学号是:" + s.getSno() + " 学生姓名是:" + s.getName()
+ " 学生年纪是:" + s.getAge());
sm.showAllStu();
}
5.学生管理系统之删除学生功能
System.out.println("请输入要删除的学生学号:");
String sno3 = sc.next();
int index = -1;
for (int i = 0; i < al.size(); i++) {
Stu s3 = (Stu) al.get(i);
if (s3.getSno().equals(sno3)) {
index = i;
}
}
if (index == -1) {
System.out.println("你输入的学号对应不上,请重新输入");
} else {
al.remove(index);
System.out.println("删除成功");
}
}
6.学生管理系统之修改学生功能
System.out.println("请输入要修改的学号:");
String sno4 = sc.next();
int ind = -1;
for (int i = 0; i < al.size(); i++) {
Stu s4 = (Stu) al.get(i);
if (s4.getSno().equals(sno4)) {
ind = i;
}
}
if (ind == -1) {
System.out.println("输入学号错误,请重新输入:");
} else {
System.out.println("请输入新的姓名:");
String name4 = sc.next();
System.out.println("请输入新的年纪:");
int age4 = sc.nextInt();
Stu s4 = new Stu();
s4.setSno(sno4);
s4.setName(name4);
s4.setAge(age4);
al.set(ind, s4);
System.out.println("修改学生信息成功");
全部代码:
StuManager类:
package com.li.demo01;
import java.util.ArrayList;
import java.util.Scanner;
public class StuManager {
private ArrayList al;
public StuManager() {
al = new ArrayList();
}
public void showAllStu() {
for (int i = 0; i < al.size(); i++) {
Stu s = (Stu) al.get(i);
System.out.println("学生学号是:" + s.getSno() + " 学生姓名是:" + s.getName()
+ " 学生年纪是:" + s.getAge());
}
}
public void addStu(Stu s) {
al.add(s);
System.out.println("添加成功");
}
public void delStu(String sno3) {
int index = -1;
for (int i = 0; i < al.size(); i++) {
Stu s3 = (Stu) al.get(i);
if (s3.getSno().equals(sno3)) {
index = i;
}
}
if (index == -1) {
System.out.println("你输入的学号对应不上,请重新输入");
} else {
al.remove(index);
System.out.println("删除成功");
}
}
public void updateStu(String sno4, Scanner sc) {
int ind = -1;
for (int i = 0; i < al.size(); i++) {
Stu s4 = (Stu) al.get(i);
if (s4.getSno().equals(sno4)) {
ind = i;
}
}
if (ind == -1) {
System.out.println("输入学号错误,请重新输入:");
} else {
System.out.println("请输入新的姓名:");
String name4 = sc.next();
System.out.println("请输入新的年纪:");
int age4 = sc.nextInt();
Stu s4 = new Stu();
s4.setSno(sno4);
s4.setName(name4);
s4.setAge(age4);
al.set(ind, s4);
System.out.println("修改学生信息成功");
}
}
}
view类:
package com.li.demo01;
import java.util.ArrayList;
import java.util.Scanner;
public class view {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
StuManager sm=new StuManager();
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("请输入你的选择:");
int choose = sc.nextInt();
switch (choose) {
case 1:
sm.showAllStu();
break;
case 2:
System.out.println("请输入学生学号:");
String sno2 = sc.next();
System.out.println("请输入学生姓名:");
String name2 = sc.next();
System.out.println("请输入学生年纪:");
int age2 = sc.nextInt();
Stu s = new Stu();
s.setSno(sno2);
s.setName(name2);
s.setAge(age2);
sm.addStu(s);
break;
case 3:
System.out.println("请输入要删除的学生学号:");
String sno3 = sc.next();
sm.delStu(sno3);
break;
case 4:
System.out.println("请输入要修改的学号:");
String sno4 = sc.next();
sm.updateStu(sno4, sc);
break;
case 5:
System.out.println("退出");
System.exit(0);
break;
}
}
}
}
~~~
- java基础
- 第一章 认识java
- 第一节 第一个程序
- 第二节 jvm jdk jre说明
- 第三节 注释
- 第二章 开发环境配置
- 第三章 eclipse中的快捷键
- 第四章 基本数据类型和运算符
- 第一节 变量
- 第二节 标示符
- 第三节 基本数据类型
- 第四节 运算符
- 第五章 面向对象
- 第一节 创建类
- 第二节 创建对象实例
- 第三节 成员方法
- 第四节 如何定义一个函数
- 第五节 构造方法
- 第六章 this关键字
- 第七节 方法的重载
- 第八节 静态变量和静态方法
- 第九节 封装
- 第十节 包的使用方法
- 第十一节 全局变量和局部变量的区别
- 第十二节 断点调试
- 第十三节 继承
- 第十四节 多态
- 第十五节 抽象类
- 第十六节 接口
- 第十七节 final关键字
- 第六章 数组
- 第七章 api和String
- 第八章 集合
- 第九章 IO流
