【Java学习】-----基础(6)
Java学习
我们继续上次的学习,上次我们学习了两个常见的类Scanner 以及 Random,今天,我们学习了对象数组,数组集合,ArrayList集合及其的基本使用。对于这块 的学习感觉并不是十分的清晰与明确,所以,列出巩固也为以后的学习打下基础。
什么是数组集合
数组我们前面都有有所了解,都知道,但是什么是数组集合,我们又怎么去使用它呢?
我们还是老样子,例题出发,逐步递进:
题目:
定义一个数组,用来储存3个person对象。
public class Demo01Array {public static void main(String [] args){//首先创建一个长度为3的数组,里面用来存放person类型的对象Person[] array = new Person[3];Person one = new Person("姣姣",20);Person two = new Person("阿春",20);Person three = new Person("春姣",18);//将one当中的地址值赋值到0号元素位置array[0] = one;array[1] = two;array[2] = three;System.out.println(array[0]);//地址值System.out.println(array[1]);//地址值System.out.println(array[2]);//地址值Person person = array[1];System.out.println(person.getName());//阿春System.out.println(person.getAge());System.out.println(array[0].getName());//姣姣}
}
但是如果我们想要在数组里面添加新的或者删除元素的时候怎么办呢?我们可以发现:
数组有一个缺点,一旦创建,程序运行期间长度不可再改变。
所以,这个时候,我们就需要数组集合
ArrayList
数组的长度不可发生改变
但是ArrayList集合的长度是可以随意改变的
对于ArrayList来说,有一个尖括号代表泛型。
泛型:也就是装在集合当中的所有元素,全部都统一的什么类型。
注意:泛型只能是引用类型,不能是基本类型。
注意事项:
对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。
如果内容是空的,得到的是空的中括号;[ ]
我们来简单的试用一下:
public class Demo02ArrayList {public static void main(String [] args){//创建了一个ArrayList集合,集合的名称是List,里卖弄装的全都是String字符串类型的数据//备注:从JDK1.7+开始,右侧的尖括号内部可以不写内容,但是<>本身还是要写ArrayList<String> list = new ArrayList<>();System.out.println(list);//[]//向集合当中添加一些数据,需要用到add方法。list.add("姣姣");System.out.println(list);//[姣姣]list.add("阿春");list.add("春姣");System.out.println(list);//[姣姣, 阿春, 春姣]}
ArrayList的常用的方法有那些呢?
这个时候我们需要知道,其中有四个比较常用的方法,是我们需要记住和经常去使用的:
public boolean add(E,e);向集合当中添加元素,参数的类型和泛型一致。
public E get(int index);从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素。
public E remove(int index);从集合当中删除元素,参数是索引编号,返回值就是被删掉的元素。
public int size(); 获取集合的尺寸长度,返回值是集合中包含的元素个数。
我们来列出他的简单使用:
import java.util.ArrayList;//导包
public class Demo03ArrayListMethod {public static void main(String[] args){ArrayList<String>list = new ArrayList<>();System.out.println(list);//[]//向集合当中添加元素:addboolean success = list.add("姣姣");System.out.println(list);//[姣姣]System.out.println("是否成功:" + success);//truelist.add("阿春");list.add("春姣");System.out.println(list);//[姣姣, 阿春, 春姣]//从集合当中获取元素:get。索引值从0开始String name = list.get(2);System.out.println("2号索引的位置:" + name);//春姣//从集合当中删除元素:remove。索引值从0开始String whoRemoved = list.remove(1);System.out.println("被删除的人是:" + whoRemoved);//阿春System.out.println(list);//[姣姣, 春姣]//获取集合的尺寸长度,也就是其中的元素的个数int size = list.size();System.out.println("集合的长度是:" + size);}
}
知道了数组集合的使用方法后,我们怎么能够将自己想要的结果输出呢?
一个新的概念,叫做遍历集合,遍历集合就是将我们想要的结果输出打印出来。
import java.util.ArrayList;public class Demo04ArrayListEach {public static void main(String[] args){ArrayList<String> list = new ArrayList<>();list.add("迪丽热巴");list.add("古力娜扎");list.add("马儿扎哈");//遍历集合for (int i = 0; i < list.size();i++){System.out.println(list.get(i));}}
}
当我们想要向数组集合下添加获或者引入新的东西,比如说,Int数字,Boolean,这个时候我们就需要了解包装类:
如果希望向集合ArrayList当中添加基本类型数据,必须使用基本类型对应的“包装类”
基本类型 包装类(引用类型,包装类都在java.lang 包下)
byte Byte
short Short
int Integer 【特殊】
long Long
float Float
double Double
char Character 【特殊】
boolean Boolean
从JDK1.5开始,支持自动装箱,自动拆箱
自动装箱: 基本类型—>包装类型
自动拆箱: 包装类型—>基本类型
举出简单实列:
import java.util.ArrayList;public class Demo05ArrayListBasic {public static void main(String[] args){ArrayList<String> listA = new ArrayList<>();//错误写法!泛型只能用引用类型,不能用基本类型
// ArrayList<int> listB = new ArrayList<>();ArrayList<Integer> listC = new ArrayList<>();listC.add(100);listC.add(200);listC.add(300);System.out.println(listC);//[100, 200, 300]int num = listC.get(1);System.out.println("得到的数字是:" + num);}
}
数组集合中,需要我们巩固和熟悉掌握的东西有很多,贪多嚼不烂,所以我们今天的主要任务啊还是夯实基础, 以后的生活学习中也是这样,我们必须要熟悉的掌握,才能更好的学习以后的知识,我们下篇的博客还是围绕着数组集合方面进行一些练习题,等到习题做完,我们也就可以开始下一步的学习。
【Java学习】-----基础(6)相关推荐
- java学习基础联系题 使用if··else if ···else循环语句设计公交车刷卡程序
java学习基础联系题 使用if··else if ···else循环语句设计公交车刷卡程序 import java.util.Scanner; public class Bus{public sta ...
- JAVA学习-基础部分【1】
我们使用的教程是b站官方的黑马程序员教程和网上的教程,然后从中记录. 具体网址为: Java字符串的处理 (biancheng.net) 其他书籍下载: 1.rar_免费高速下载|百度网盘-分享无限制 ...
- Java学习基础语法
Java 开发环境配置 Java 基础语法 Java 对象和类 Java 基本数据类型 Java 变量类型 Java 修饰符 Java 运算符 Java 循环结构 Java 分支结构 Java Num ...
- JAVA学习基础知识(一)JDK的安装和配置及Java的发展历史
前言 欢迎阅读本系列文章,本文主要内容为Java的发展历史,以及在电脑上如何配置Java环境.ps:这是第一次发布java语言的文章,若出现错误,望指正. 文章目录 前言 java的发展历史 Java ...
- java 学习基础知识点拾遗 导航页
每种编程语言的知识点都是很多很杂的,java也是如此 相信很多人学习的过程中都是深一脚浅一脚,最基础的东西可能有些也不是非常确定 整理了最基本的一些知识点,可以说是java入门的-1层级别的,作为自己 ...
- 2021-08-03 Java学习基础第四天总结
Java第四天基础学习 1. Math 2. System 3. Object 4. Objects 5. BigDecimal 6. 包装类 7. Date 8. SimpleDateFormat ...
- Java学习——基础知识之运算符和输入输出
知识是珍宝,但实践是得到它的钥匙.--托马斯·富勒 Java基础知识之运算符和输入输出 一.运算符 1.算术运算符:包括:+,-,*,/(整数运算取整),%(取余),++(递增1),–等 2.赋值运算 ...
- 2021-08-04 Java学习基础第五天总结
Java第五天基础学习 1.集合体系 2.迭代器 3.并发修改异常 4.增强for循环 5.泛型 6.可变参数 7.正则表达式 8.数据结构 集合体系: 单列集合: Collection接口: LIs ...
- java学习--基础知识阶段性总结--网络编程
网络编程: 端口: 物理端口: 逻辑端口:用于标识进程的逻辑地址,不同进程的标识:有效端口:0~65535,其中0~1024系统使用或保留端口. java 中ip对象:InetAddress. imp ...
- java学习--基础知识进阶第五天--API、 Object类 System类、日期相关类、包装类正则表达式...
今日内容介绍 u Object类 & System类 u 日期相关类 u 包装类&正则表达式 第1章 Object类 & System类 1.1 Object类 1.1. ...
最新文章
- 引用Drawable颜色常数及背景色
- [TensorRT] ERROR: Network must have at least one output
- WPF-3D动效-文字球形环绕
- 第三次学JAVA再学不好就吃翔(part108)--带缓冲的字符流
- 五分钟了解Consul
- Bringing up interface eth0: Device eth0 does not seem to be present, delaying initialization
- 在OEL5上安装配置Oracle Gird Control 10.2.0.5
- 查看oracle小补丁号,oracle 补丁号查询
- JAVA JDK配置
- kettle预览点两下才出数_谁才是娱乐圈油腻王中王?
- Linux编辑器介绍
- 订单明细升级版、淘宝erp、淘宝打单发货接口
- 计算机考研专业课408备考经验分享
- java 实现 PTF远程连接带有中文下载,解决文件损失
- 做外链的六个有效技巧
- bouncycastle
- matlab怎样灰度变换,matlab灰度变换函数
- macOS运行Xcode缓慢
- 迪思杰支持mysql_迪思杰Oracle数据库复制产品
- H - Relief grain
热门文章
- 【每周CV论文推荐】初学视觉注意力机制有哪些值得阅读的论文?
- 【Android容器组件—LinearLayout】
- 阿里云服务器部署学习笔记
- 新版HyperMesh的Assemblies中调出下拉菜单查看Component(装配关系模型树)
- 中大 华科 计算机学院,中国进步“最快”的13所大学,国科大、中大、电子科大、华科升级...
- 国外android 邮件工具,对比测评国内外四个邮箱APP 邮箱大师表现最全能
- Verilog HDL 总结(1)
- 产品学习:智能生产调度管理系统
- Python爬虫教程(一):基础知识
- LaTeX代码: 表格 ← 利用 tabular