ArrayList的使用
Posted battlecry
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ArrayList的使用相关的知识,希望对你有一定的参考价值。
ArrayList
一、ArrayList创建变量的步骤
1.导入包
import java.util.*;
2.创建引用类型的变量
数据类型<集合存储的数据类型> 变量名 = new 数据类型<集合存储的数据类型>();
集合存储的数据类型:要将数据存储到集合的容器中。创建集合引用变量的时候,必须要指定好存储的类型是什么。
3.变量名.方法即可调用
注意尖括号中的类型必须要写。
注意:ArrayList存储的是引用类型,那么8个基本的类型对应8个引用类型。
如下表所示:
表1基本数据类型&引用数据类型参照表
基本数据类型 |
对应的引用数据类型 |
byte |
Byte |
short |
Short |
int |
integer |
long |
Long |
float |
Float |
double |
Double |
char |
Character |
boolean |
Boolean |
二、ArrayList常见的方法
array.add(object);//添加一个元素
array.get(index);//取出集合中的元素,在get方法的参数中,写入索引。
array.size();//返回集合的长度,也就是存储元素的个数。
array.set(object);//设置一个元素
array.remove();//移除一个元素
三、ArrayList初步使用
1.实现学生数据的录入功能
* 2.实现学生数据的查询功能
* 3.实现学生数据的遍历功能
* 4.实现学生数据的删除功能
* 5.实现学生数据的更改功能
1 import javafx.application.Platform; 2 3 import java.lang.reflect.Array; 4 import java.util.*; 5 import java.awt.*; 6 /* 7 * 程序功能:学生信息录入程序 8 * 1.实现学生数据的录入功能 9 * 2.实现学生数据的查询功能 10 * 3.实现学生数据的遍历功能 11 * 4.实现学生数据的删除功能 12 * 5.实现学生数据的更改功能 13 * */ 14 public class ArrayTest { 15 static ArrayList<Student> stu = new ArrayList<Student>(); 16 17 public static void anyKeyContinune() 18 { 19 System.out.println("请按任意键继续"); 20 Scanner input = new Scanner(System.in); 21 String str = input.next(); 22 } 23 /*menu():该静态方法用来显示目录字符串信息*/ 24 public static void menu(){ 25 System.out.println("学生信息录入程序 1.添加学生信息 2.查询学生信息 " + 26 "3.查询所有学生信息 4.删除指定学生信息 5.更改指定学生信息 0.退出 请选择:"); 27 } 28 /*添加学生信息*/ 29 public static void addStu() 30 { 31 /* 1.学生姓名name 32 * 2.学生学号sno 33 * 3.学生成绩score*/ 34 Student no1 = new Student(); 35 Scanner sc = new Scanner(System.in); 36 System.out.println("请添加学生的姓名"); 37 no1.name=sc.nextLine();//用nextLine()方法获取字符串 38 System.out.println("请添加学生的学号"); 39 no1.sno=sc.nextLong(); 40 System.out.println("请添加学生的成绩"); 41 no1.score =sc.nextInt(); 42 stu.add(no1); 43 //System.out.println(stu.get(0).name +" "+ stu.get(0).sno + " "+stu.get(0).score); 44 45 } 46 /*查询学生信息 默认姓名查询*/ 47 public static void searchName() 48 { 49 System.out.println("请输入想要查询的姓名:"); 50 Scanner sc = new Scanner(System.in); 51 int flag =0; 52 String searName = sc.nextLine(); 53 for(int i=0;i<stu.size();i++) 54 { 55 if(stu.get(i).name.equals(searName)) 56 { 57 System.out.println("学生的信息是: name sno score "+stu.get(i).name +" "+ stu.get(i).sno + " "+stu.get(i).score); 58 flag=1; 59 } 60 } 61 if(flag==0) 62 System.out.println("不好意思,查无此人!"); 63 anyKeyContinune(); 64 } 65 66 /*3.查询所有学生信息*/ 67 public static void View() 68 { 69 System.out.println("所有的学生信息如下 name sno score"); 70 for(int i=0;i<stu.size();i++) 71 System.out.println(stu.get(i).name +" "+ stu.get(i).sno + " "+stu.get(i).score); 72 anyKeyContinune(); 73 } 74 /*4.删除指定学生信息*/ 75 public static void deleteStu() 76 { 77 System.out.println("请输入想要查询的姓名:"); 78 Scanner sc = new Scanner(System.in); 79 int flag =0; 80 String searName = sc.nextLine(); 81 int i; 82 for( i=0;i<stu.size();i++) 83 { 84 if(stu.get(i).name.equals(searName)) 85 { 86 System.out.println("学生的信息是: name sno score "+stu.get(i).name +" "+ stu.get(i).sno + " "+stu.get(i).score); 87 flag =1; 88 } 89 } 90 if(flag==0) 91 System.out.println("不好意思,查无此人!"); 92 else{ 93 94 System.out.println("是否想要删除? yes or no ?"); 95 String conform = sc.nextLine(); 96 if(conform.equals("yes")) 97 { 98 System.out.println("正在删除,请稍后!"); 99 stu.remove(i-1); 100 System.out.println("删除成功!"); 101 } 102 else 103 { 104 System.out.println("输入错误 或者 不想删除!请想清楚后再尝试!"); 105 } 106 } 107 108 anyKeyContinune(); 109 } 110 /*5.更改指定学生信息*/ 111 public static void change() 112 { 113 System.out.println("请输入想要修改的学生信息,以姓名查找:"); 114 int flag =0; 115 Scanner sc = new Scanner(System.in); 116 String searName = sc.nextLine(); 117 int i; 118 for( i=0;i<stu.size();i++) 119 { 120 if(stu.get(i).name.equals(searName)) 121 { 122 System.out.println("学生的信息是: name sno score "+stu.get(i).name +" "+ stu.get(i).sno + " "+stu.get(i).score); 123 flag=1; 124 } 125 } 126 if(flag==0) 127 System.out.println("不好意思,查无此人!"); 128 else { 129 // Scanner sc = new Scanner(System.in); 130 Student p1 = new Student(); 131 132 System.out.println("请重新输入学生的基本信息 请重新输入学生的姓名"); 133 p1.name=sc.nextLine();//用nextLine()方法获取字符串 134 System.out.println("请重新输入的学号"); 135 p1.sno=sc.nextLong(); 136 System.out.println("请重新输入的成绩"); 137 p1.score=sc.nextInt(); 138 stu.set(i-1,p1); 139 System.out.print("修改成功!"); 140 } 141 142 143 } 144 public static void main(String[] args) throws Exception{ 145 for (;;) 146 { 147 //显示菜单 148 menu(); 149 //选择选项 150 int choice; 151 Scanner sc = new Scanner(System.in); 152 //ArrayList<Student> stu = new ArrayList<Student>(); 153 choice = sc.nextInt(); 154 if (choice==1){ 155 addStu(); 156 } 157 else if(choice==2){ 158 searchName(); 159 } 160 else if(choice==3){ 161 View(); 162 } 163 else if (choice==4){ 164 deleteStu(); 165 } 166 else if (choice==5){ 167 change(); 168 } 169 else if (choice==0){ 170 System.out.print("程序正在停止,请稍等"); 171 Robot r = new Robot(); 172 for(int i=1;i<4;i++) 173 { 174 r.delay(500); 175 System.out.print("."); 176 } 177 break; 178 } 179 else 180 System.out.println("请输入上述选项!"); 181 } 182 183 184 185 } 186 }
以上是关于ArrayList的使用的主要内容,如果未能解决你的问题,请参考以下文章
获取 Intent 片段上的 Serializable ArrayList