java 创建集合类数组_Java集合 -- ArrayList集合及应用
JAVA集合
对象数组
集合类之ArrayList
学生管理系统
斗地主案例
NO.one 对象数组
1.1 对象数组描述
A:基本类型的数组:存储的元素为基本类型
int[] arr={1,2,3,4}
B:对象数组:存储的元素为引用类型
Student[] stus=new Student[3];
Student代表一个自定义类
Stus数组中stus[0],stus[1],stus[2]的元素数据类型为Student,
都可以指向一个Student对象
1.2 对象数组案例:
创建一个学生数组,存储三个学生对象并遍历
1.2.1 案例代码一:
packagecom.gao;/** 自动生成构造方法:
* 代码区域右键 -- Source -- Generate Constructors from Superclass... 无参构造方法
* 代码区域右键 -- Source -- Generate Constructor using Fields... 带参构造方法
* 自动生成getXxx()/setXxx():
* 代码区域右键 -- Source -- Generate Getters and Setters...*/
public classStudent {privateString name;private intage;publicStudent() {
}public Student(String name, intage) {this.name =name;this.age =age;
}publicString getName() {returnname;
}public voidsetName(String name) {this.name =name;
}public intgetAge() {returnage;
}public void setAge(intage) {this.age =age;
}
}packagecom.itheima;/** 创建一个学生数组,存储三个学生对象并遍历
*
* 分析:
* A:定义学生类
* B:创建学生数组
* C:创建学生对象
* D:把学生对象作为元素赋值给学生数组
* E:遍历学生数组*/
public classStudentDemo {public static voidmain(String[] args) {//创建学生数组
Student[] students = new Student[3];//创建学生对象
Student s1 = new Student("曹操",40);
Student s2= new Student("刘备",35);
Student s3= new Student("孙权",30);//把学生对象作为元素赋值给学生数组
students[0] =s1;
students[1] =s2;
students[2] =s3;//遍历学生数组
for(int x=0; x
Student s=students[x];//System.out.println(s);
System.out.println(s.getName()+"---"+s.getAge());
}
}
}
1.3 对象数组的内存图
NO.two 集合类ArrayList
2.1 集合概述
A:我们学习的是面向对象编程语言,而面向对象编程语言对事物的描述都是通过对象来体现的。
为了方便对多个对象进行操作,我们就必须对这多个对象进行存储,而要想对多个对象进行存储,
就不能是一个基本 的变量,而应该是一个容器类型的变量。
B:StringBuilder,数组。
StringBuilder的结果只能是一个字符串类型,不一定满足我们的需求。
所以,我们目前只能选择数组了,也就是我们前面学习过的对象数组。
但是,数组的长度是固定的, 如果有时候元素的个数不确定的,我们无法定义出数组的长度,这个时候,
java就提供了集合类供我们使用。
2.2 ArrayList集合
2.2.1 ArrayList 添加新元素
2.2.1.1 案例代码二:
packagecom.gao_01;importjava.util.ArrayList;/** 为什么会出现集合类:
* 我们学习的是面向对象编程语言,而面向对象编程语言对事物的描述都是通过对象来体现的。
* 为了方便对多个对象进行操作,我们就必须对这多个对象进行存储,而要想对多个对象进行存储,
* 就不能是一个基本的变量,而应该是一个容器类型的变量。
* 到目前为止,我们学习过了哪些容器类型的数据呢?StringBuilder,数组。
* StringBuilder的结果只能是一个字符串类型,不一定满足我们的需求。
* 所以,我们目前只能选择数组了,也就是我们前面学习过的对象数组。
* 但是,数组的长度是固定的,适应不了变化的需求,那么,我们该如何选择呢?
* 这个时候,java就提供了集合类供我们使用。
*
* 集合类的特点:
* 长度可变。
*
* ArrayList:
* 大小可变数组的实现
*
* :是一种特殊的数据类型,泛型。
* 怎么用呢?
* 在出现E的地方我们使用引用数据类型替换即可
* 举例:ArrayList,ArrayList
*
* 构造方法:
* ArrayList()
*
* 添加元素:
* public boolean add(E e):添加元素
* public void add(int index,E element):在指定的索引处添加一个元素*/
public classArrayListDemo {public static voidmain(String[] args) {//创建集合对象
ArrayList array = new ArrayList();//add(E e):添加元素
array.add("hello");
array.add("world");
array.add("java");//add(int index,E element):在指定的索引处添加一个元素//array.add(1, "android");
System.out.println("array:"+array);
}
}
2.2.2 删改查方法
A:获取元素
public E get(int index):返回指定索引处的元素
B:集合长度
public int size():返回集合中的元素的个数
C:删除元素
public boolean remove(Object o):删除指定的元素,返回删除是否成功
public E remove(int index):删除指定索引处的元素,返回被删除的元素
D:修改元素
public E set(int index,E element):修改指定索引处的元素,返回被修改的元素
2.2.2.1 案例代码三:
packagecom.gao_01;importjava.util.ArrayList;/** 获取元素
* 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):修改指定索引处的元素,返回被修改的元素*/
public classArrayListDemo2 {public static voidmain(String[] args) {//创建集合对象
ArrayList array = new ArrayList();//添加元素
array.add("hello");
array.add("world");
array.add("java");//public E get(int index):返回指定索引处的元素//System.out.println("get:"+array.get(0));//System.out.println("get:"+array.get(1));//System.out.println("get:"+array.get(2));//public int size():返回集合中的元素的个数//System.out.println("size:"+array.size());//public boolean remove(Object o):删除指定的元素,返回删除是否成功//System.out.println("remove:"+array.remove("world"));//true//System.out.println("remove:"+array.remove("world"));//false//public E remove(int index):删除指定索引处的元素,返回被删除的元素//System.out.println("remove:"+array.remove(0));//public E set(int index,E element):修改指定索引处的元素,返回被修改的元素
System.out.println("set:"+array.set(1, "android"));//输出
System.out.println("array:"+array);
}
}
2.2.3 ArrayList遍历
集合的遍历思想和数组的遍历思想相同
循环遍历容器,依次取出里面的元素即可
2.2.3.1 案例代码四:
packagecom.gao_01;importjava.util.ArrayList;/** ArrayList集合的遍历
* 通过size()和get()配合实现的*/
public classArrayListDemo3 {public static voidmain(String[] args) {//创建集合对象
ArrayList array = new ArrayList();//添加元素
array.add("hello");
array.add("world");
array.add("java");//获取元素//原始做法
System.out.println(array.get(0));
System.out.println(arr
java 创建集合类数组_Java集合 -- ArrayList集合及应用相关推荐
- java创建byte数组_java.创建一个byte数组,long length = file.length(); byte[] bytes =
导航:网站首页 > java.创建一个byte数组,long length = file.length(); byte[] bytes = 时间:2017-12-17 java.创建一个byte ...
- java创建byte数组_java byte[]生成
1. ByteArrayOutputStream extends OutputStream 提供了一个byte数组,和记录写入数组值个数的类. a.实现了write(int)这个抽象函数,这里默认只写 ...
- java怎么把随机数放入数组_Java学习:集合的使用与数组的区别
ArrayList 集合 ArrayList 集合 ArrayList list = new ArrayList<>(); 对于ArrayList来说,有一个尖括号代表泛型. 泛型:也就是 ...
- java print快捷键_Java的ArrayList集合使用---唐代诗人斗地主!!!
一.集合如何实现斗地主? 我们现实生活中关于斗地主,首先要有一副牌,然后把牌洗一下,在然后发牌,最后抢地主!因此斗地主需要以下的5步! 创建牌盒,定义一个集合对象,用ArrayList实现 往牌盒里装 ...
- Java的ArrayList集合_JAVA之ArrayList集合
/** * ArrayList集合讲解 * 集合的添加.遍历.删除 */ package com.test; import java.util.*; public class test7 { /** ...
- Java中的数组,列表,集合,映射,元组,记录文字
有时,当我对JavaScript的强大功能和表现力感到兴奋时,我发现自己错过了Java世界中的一两个功能. 除了lambda表达式/闭包或任何您想称为"匿名函数"的东西之外,它还对 ...
- java定义list数组_Java 数组ArrayList语法
记录一下数组ArrayList的常用语法 1.导入 import java.util.ArrayList; 2.定义数组list ArrayList list = new ArrayList(); ...
- java枚举类型数组_Java基础(七)泛型数组列表ArrayList与枚举类Enum
一.泛型数组列表ArrayList 1.在Java中,ArrayList类可以解决运行时动态更改数组的问题.ArrayList使用起来有点像数组,但是在添加或删除元素时,具有自动调节数组容量的功能,而 ...
- java list转数组_java list 转数组
java怎么把list转成数组 public static void listToarray() { List list = new ArrayList(); list.add("a&quo ...
最新文章
- 4.总结近5周以来的github上的工作情况,以图表方式分析你小组的工作情况、存在的问题及解决的方案。(尤心心)...
- mysql在线开启并行复制_mysql 5.7开启并行复制
- 把hive数据导出至mysql
- 数据库系统原理(第5章:数据库编程)
- java中的Volatile 变量
- 年度总结 | 小小的年度大总结!太精辟!
- python获取服务器文件svn版本信息_如何编程获取SVN版本号?
- vscode如何添加头部注释、作者注释
- Linux系统时间和java的时间不一致
- 【实验技术笔记】RNA 抽提 + 反转录PCR + PCR引物设计 + RT-qPCR
- 史上最全linux内核配置详解
- k8s初级班day2
- 计算机毕业设计Android的手机点名签到学生请假考勤系统(源码+系统+mysql数据库+Lw文档)
- Android平台第三方插件开发指导(dcloud)
- TFB cas:223569-31-1,聚合物光电材料
- win7浏览器主页修改不过来_Win7系统IE浏览器无法更改主页怎么解决?
- 提交代码时提示Could not read from remote repository.
- Windows环境下的RTX实时操作系统学习记录
- Linux学习入门(一)
- 自动汇编转c语言,【转载】CE教程之自动汇编
热门文章
- 克服焦虑症的6个方法
- 北京邮电大学2021年C语言航空售票系统
- understand 教程
- [技巧]解决vscode乱码问题
- 使用tushare下载指定股票日线数据并存为excel文件
- Latex 分式格式处理
- 有道云笔记分享_《有道云笔记》分享三 ——笔记应该怎么做
- 水利类专业怎么应用计算机,水利水电工程专业系列教材·计算机应用技术
- USACO 1月 2020-2021 January Contest Silver 题解
- tf.nn.sampled_softmax_loss用法详解