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

包含不同片段的HashMap(或ArrayList)

面试常用的代码片段

ListView 未显示在片段中

例外:从意图存储ArrayList时“无法转换为java.util.ArrayList”

回收站视图未显示在片段中