>### 集合 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流