首页 >

ArrayList集合

Java|java教程ArrayList集合
ArrayList,集合
Java-java教程
集合出现的原因
数组存储数据是固定存储 ,当遇到要存储数据的个数不确定的时候 数组就不满足了,集合就出现了
集合存储数据的个数,可以随着数据量的变化而变化,不会造成越界或者大量的空间浪费
存储数据的个数是可变的
12306源码下载,幼圆字体vscode,ubuntu fix命令,安装tomcat显示jvm,爬虫酶,php自动提交表单,保山谷歌seo公司,php小网站源码,模板域名授权lzw
ArrayList:
java.util包下
底层维护了一个数组
线程不同步(处理速度快)
精美聊天室源码,ubuntu的上网设置,tomcat服务器配置站点,有道python爬虫,php学生成绩查询网站,卫辉seo推广lzw
创建ArrayList对象的格式:
ArrayList 集合名字 = new ArrayList();
: 泛型, 代表了集合中要存储的数据类型, 想存什么类型 就把E改成什么类型 , 如要存储String类型的数据 就把E改成String
烟台麻将源码,vscode代码字都是白色,ubuntu 休眠功能,为啥启动多个tomcat,爬虫软件监控,php文本框取值,重庆服务专业的seo优化,织梦新闻网站模板,bad news 模板lzw
注意: 集合只能存储引用类型的数据

基本数据类型 对应的引用数据类型表示形式
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

ArrayList常见功能
添加
public boolean add(E e)
public void add(int index,E element) // 在指定的索引位置添加元素

获取元素
public E get(int index)// 根据索引值获取元素

获取元素个数
public int size() //获取元素个数

删除元素
public boolean remove(Object o) // 直接删除元素
public E remove(int index) //根据索引删除元素 ,并把删除的元素返回

修改元素
public E set(int index,E element)// 使用element 去替换指定索引的元素 , 并返回被替换的元素

学生管理系统练习
学生信息包括 : 学号 姓名 年龄 家乡
打印欢迎语句
打印对应的功能 , 并接收用户的输入

1.查看学生信息
如果系统没有学生信息 则给出对应的提示
如果系统中有学生信息, 则按照指定的格式打印学生信息
2.添加学生信息
从键盘录入学生的信息 组成对象 添加到集合中
根据学号去重,只有没重复的学号才能添加到集合中

3.修改学生信息
根据学号找到学生进行修改
如果没有学号则给出对应的提示
如果找到学号则继续收集新信息, 使用新信息修改原来的元素
4.删除学生信息
根据学号删除学生
如果没有指定学号则给出指定的提示
如果有学号则删除指定的元素
5.退出学生信息管理系统
提示退出
并结束程序
代码演示

  1 public static void main(String[] args) {    2         // 初始化数据    3         // 创建一个集合容器 可以存储学生的信息    4         ArrayList list = new ArrayList();    5         // =========================测试数据================================    6 //        Student s1 = new Student("9001", "阿拉甲", "18", "迪拜");    7 //        Student s2 = new Student("9002", "阿拉yi", "18", "迪拜");    8 //        Student s3 = new Student("9003", "阿拉饼", "18", "迪拜");    9 //        list.add(s1);   10 //        list.add(s2);   11 //        list.add(s3);   12 //        System.out.println("初始化完毕");   13         // =========================测试数据================================   14    15         System.out.println("-------------------欢迎使用学生管理系统------------------------");   16    17         // 死循环  18         while (true) {   19             // 展示功能菜单   20             System.out.println("=================================");   21             System.out.println("1.查看学生信息");   22             System.out.println("2.添加学生信息");   23             System.out.println("3.修改学生信息");   24             System.out.println("4.删除学生信息");   25             System.out.println("5.退出学生信息管理系统");   26             System.out.println("请输入对应功能的序号");    27             System.out.println("=================================");    28             // 接收用户的输入    29             Scanner sc = new Scanner(System.in);    30             int user = sc.nextInt();    31             // 根据用户的输入进行功调用    32             switch (user) {    33             case 1:    34 show(list);    35 break;    36             case 2:    37 add(list);    38 break;    39             case 3:    40 upd(list);    41 break;    42             case 4:    43 del(list);    44 break;    45             case 5:    46 System.out.println("感谢使用管理系统 欢迎下次再来哦  ");    47 // 终止虚拟机    48 System.exit(0);    49 // return;    50 break;    51     52             default:    53 System.out.println("对不起 没有这个功能 ,请控制你自己 ");    54 break;    55             }    56         }    57     }    58     59     // 功能方法s    60     public static void del(ArrayList list) {    61         // 1.提示输入学号   62         Scanner sc = new Scanner(System.in);    63         System.out.println("请输入学号");    64         String id = sc.next();    65    66         // 2.查找   67         // 定义标记    68         int index = -1;    69         // 遍历比较 并修改    70         for (int i = 0; i < list.size(); i++) {    71             Student tmp = list.get(i);    72             if (tmp.getId().equals(id)) {    73 // 找到了    74 // 改变标记    75 index = i;   76 break;    77             }    78         }    79         // 3.判断结果    80         // 判断标记    81         if (index == -1) {    82             // 没有找到    83             System.out.println("您输入的学号 咱们系统没有, 请重新选择功能");    84         } else {    85             // 找到了 执行删除    86             list.remove(index);    87             System.out.println("删除完毕");   88         }    89     }    90     91     public static void upd(ArrayList list) {    92         // 1.提示输入学号    93         Scanner sc = new Scanner(System.in);    94         System.out.println("请输入学号");    95         String id = sc.next();    96     97         // 2.查找    98         // 定义标记    99         int index = -1;   100         // 遍历并比较   101         for (int i = 0; i < list.size(); i++) {   102             Student tmp = list.get(i);   103             if (tmp.getId().equals(id)) {   104 // 找到了   105 // 修改标记   106 index = i;   107 break;   108             }   109         }   110         // 3.根据查找的结果做不同的动   111         // 判断标记   112         if (index == -1) {   113             // 没找到,   114             System.out.println("您输入的学号 咱们系统中没有 ,请重新选择功能 ");   115         } else {   116             // 找到了   117             // 3.收集其他信息   118             System.out.println("请输入新姓名");   119             String name = sc.next();   120             System.out.println("请输入新年龄");   121             String age = sc.next();   122             System.out.println("请输入新家乡");   123             String home = sc.next();   124             // 4.组成对象添加到集合中   125             Student s = new Student(id, name, age, home);   126             // 修改   127             list.set(index, s);   128             System.out.println("修改完毕");   129         }   130    131     }   132    133     public static void add(ArrayList list) {   134         // 1.提示输入学号   135         Scanner sc = new Scanner(System.in);   136         System.out.println("请输入学号");   137         String id = sc.next();   138         // 2.根据学号去重   139    140         // 使用用户输入的学号去集合中查找, 如果找到与用户输入的学号一样的学号表示有重复,此时要继续提示输入学号,并继续去重   141         // 直到用户输入的学号与集合中元素的学号不一致的时候再收集其他的信息   142         while (true) {   143             // 定义一个标记 给一个默认值   144             int index = -1;   145             // 遍历集合获取元素的学号与用户输入的学号进行比较   146             for (int i = 0; i < list.size(); i++) {   147 Student tmp = list.get(i);   148 if (tmp.getId().equals(id)) {   149     // 表示重复   150     // 修改标记   151     index = i;   152     break;   153 }   154             }   155    156             // 判断标记   157             if (index == -1) {   158 // 没有重复   159 break;   160             } else {   161 // 有重复   162 System.out.println("您输入的学号 重复了 ,请重新输入学号 ");   163 id = sc.next();   164    165             }   166         }   167    168         // 3.收集其他信息   169         System.out.println("请输入姓名");   170         String name = sc.next();   171         System.out.println("请输入年龄");   172         String age = sc.next();   173         System.out.println("请输入家乡");   174         String home = sc.next();   175         // 4.组成对象添加到集合中   176         Student s = new Student(id, name, age, home);   177         list.add(s);   178         System.out.println("添加完毕");   179     }   180    181     public static void show(ArrayList list) {   182         // 1.判断集合是否有元素   183         if (list.size() == 0) {   184             // 如果没有给出特定的提示   185             System.out.println("系统中没有学生的信息,请选择添加功能");   186         } else {   187             // 如果有就按照指定格式遍历   188             System.out.println("================学生信息如下====================");   189             System.out.println("学号\t\t姓名\t\t年龄\t\t家乡");   190             // 遍历集合获取学生信息   191             for (int i = 0; i < list.size(); i++) {   192 Student tmp = list.get(i);   193 System.out   194         .println(tmp.getId() + "\t\t" + tmp.getName() + "\t\t" + tmp.getAge() + "\t\t" + tmp.getHome());   195             }   196             System.out.println("====================================");   197         }   198         System.out.println("展示完毕");   199     }

ArrayList集合
  • PHP实现C#山寨ArrayList办法【PHP】
  • PHP实现C#山寨ArrayList办法【PHP】 | PHP实现C#山寨ArrayList办法【PHP】 ...

    ArrayList集合
  • 在JavaScript中构建ArrayList示例代码【javascript】
  • 在JavaScript中构建ArrayList示例代码【javascript】 | 在JavaScript中构建ArrayList示例代码【javascript】 ...

    ArrayList集合
  • 请问个JAVA有关问题
  • 请问个JAVA有关问题 | 请问个JAVA有关问题 ...