Java之路---Day07
2019-10-21-23:30:24
ArrayList类[集合]
What:java.util.ArrayList是大小可变的数组的实现,存储在内的数据称为元元素,此类提供一些方法来操作内部存储的元素
Why:ArrayList大小可变,所以AttayList中可不断添加元素,其大小也自动增长。
1.数组的长度不可以发生改变,但是ArrayList集合的长度是可以发生改变的
How:ArrayList<E> 对象名 = new ArrayList<E>();
<E>叫做泛型,表示一种指定的数据类型,可以使用一种引用数据(不能是基本类型来替换)类型将其替换,右侧的E可以省略不写
注意事项:
1.ArrayList集合来说,直接打印得到的是内容,不是地址值,而数组打印得到的是地址值
2.如果内容为空,打印得到的是中括号,[]
常用方法
1.public boolean add(E e); 向集合当中添加元素,参数的类型和泛型一致。返回值代表添加是否成功。
备注:对于Arraylist集合来说,add添加动作一定是成功的,所以返回值可用可不用。但是对于其他集合(今后学习)来说,add添加动作不一定成功.
2.public E remove(int index): 从集合当中册除元素,参数是索引编号,返回值就是被删除掉的元素
3.public E get(int index), 从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素。
4.public int size():获取集合的尺寸长度,返回值是集合中包含的元素个数。
package demoarraylist;
import java.util.ArrayList;
public class ArrayListPra01 {
public static void main(String[] args) {
//创建一个ArrayList集合对象
ArrayList<String> arrayList = new ArrayList<>();
//先打印空集合
System.out.println(arrayList);//[]
//向集合中添加元素
Boolean success = arrayList.add("盖伦");
System.out.println(arrayList);//[盖伦]
System.out.println("添加的动作是否成功:"+success);//添加的动作是否成功:true
arrayList.add("皇子");
arrayList.add("德邦");
arrayList.add("剑圣");
System.out.println(arrayList);//打印添加的元素
//从集合中获取元素
System.out.println(arrayList.get(0));//盖伦
System.out.println(arrayList.get(1));//皇子
System.out.println(arrayList.get(2));//德邦
System.out.println(arrayList.get(3));//剑圣
//删除集合中的元素
String name = arrayList.remove(3);
System.out.println("被删除的是:"+name);//被删除的是:剑圣
System.out.println(arrayList);//[盖伦, 皇子, 德邦]
//获取集合的长度,也叫元素个数
int size = arrayList.size();
System.out.println("集合的长度是:"+size);//集合的长度是:3
}
}
字符串:
What:java.lang.String类代表字符串.程序中所有的双引号字符串,都是String类的对象
字符串的特点:
1.字符串的内容永不可变。[重点]
2.正是因为字符串不可改变,所以字符串是可以共享使用的。
3.字符串效果上相当于是char[ ]字符数组,但是底层原理是byte[ ]字节数组。
创建字符串的常见3+1种方式。
三种构造方法:
public String(): 创建一个空白字符串,不含有任何内容。
public String(char[] array): 根据字符数组的内容,来创建对应的字符串。
public String(byte[] array): 根据字节数组的内容,来创建对应的字符串。
一种直接创建:String str ="Hello"; //右边直接用双引号
注意:直接写上双引号,就是字符串对象。
package demostring;
public class StringPra01 {
public static void main(String[] args) {
//使用空参构造
String str1 = new String(); //小括号留空,说明字符串什么内容都没有。
System. out . println("第1个字符串:"+ str1);
//根据字符数组创建字符串
char[] charArray = { 'A', 'B','C' };
String str2 = new String( charArray);
System. out . println("第2个字符串:"+ str2);//第2个字符串:ABC
//根据字节数组创建字符串
byte[] byteArray = { 97, 98,99 };
String str3 = new String(byteArray);
System.out.println("第3个字符串:"+ str3);//第3个字符串:abc
//直接创建
String str4 = "Hello";
System.out.println("第四个字符串:"+str4);//第四个字符串:Hello
}
}
字符串常量池:

字符串的比较方法:
==是进行对象的地址值比较,如果确实需要字符串的内容比较,可以使用两个方法
两个方法:
public booleon equols(object obj),参数可以是任何对象,只有参数是一个字符串并且内容相同的才会给true,否则返回false.
public boolean equalsIgnoreCase(String str), 忽略大小写,进行内容比较。
注意事项,
1.任何对象都能用0bject进行接收。
2. equals方法具有对称性,也就是a. equals(b)和b. equals(a)效果一样。
3.如果比较双方一个常量一个变量,推荐把常量字符串写在前面。
推荐: "abc".equats(str) ,不推荐str.equals( "abc ")
字符串的获取方法
String当中与获取相关的常用方法有:
public int length(),获取字符串当中含有的字符个数,拿到字符串长度。
public String concat(String str): 将当前字符串和参数字符串拼接成为返回值新的字符串。
public char charAt(int index), 获取指定索引位置的单个字符。(素引从0开始)
public int indexof(String str): 查找参数字符串在本字符串当中首次出现的索引位置,如果没有返回-1值。
字符串的截取方法:
public string substring(int index); 截取从参数位置一直到字符串末尾,返回新字符串。
public String substring(int begin, int end); 截取从begin开始,一直到end结束,中间的字符串。
备注。[begin,end), 包含左边,不包含右边。
字符串的转换:
public char[] toCharArray(); 将当前字符串拆分成为字符数组作为返回值。
public byte[] getBytes():获得当前字符串底层的字节数组。
public String replace(CharSequence oldString, CharSequence newString);
将所有出现的老字符串替换成为新的字符串,返回替换之后的结果新字符串。
备注: CharSequence意思就是 说可以接受字符串类型。
字符串的分隔:
public String[] split(String regex): 按照参数的规则,将字符串切分成为若干部分。
注意事项:
split方法的参数其实是一个 “正则表达式”,今后学习。
今天要注意:如果按照英文句点“。进行切分。必须写"\\." (两个反斜杠)
有点晚了,后面的代码明天再补回去
Java之路---Day07的更多相关文章
- Java之路——名词解释(一)
一.开篇 许多人在初接触Java的时候,都会被各种Java的英文缩写名词给弄得头晕脑胀.看一个技术,内容里又会有一堆其他的技术名词,看了半天不知所云.尝试去查一下这些名词的解释,除了非常学术性的解释之 ...
- Java之路——敬JAVA初学者(作者:MoMo)
作为一名大四的毕业生,大学三年过,有得有失.作为一个喜欢编程,喜欢JAVA的人,自学其实是一件美事,很有意思的事.要是能再找个女朋友一起学.嘿嘿,就不枉在大学走了一遭啊! 要离开学校了,还是想留 ...
- Java之路——环境配置与编译运行
本文大纲 一.开篇 二.JDK下载 三.JDK安装 四.环境配置 五.初识Java编译 六.Java与Javac 七.第一个Java程序 八.总结 九.参考资料 一.开篇 通过对之前Java之路的了解 ...
- Java之路 ——初识Eclipse
零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 八.Eclipse 快捷键 九.总结 一.前 ...
- 2017-2018-1 JAVA实验站 冲刺 day07
2017-2018-1 JAVA实验站 冲刺 day07 各个成员今日完成的任务 小组成员 今日工作 完成进度 张韵琪 写博客.进行工作总结 100% 齐力锋 部分按钮图片.对按钮图片进行ps 100 ...
- 转行自学 Java 之路的纪念册
前言: 最近在重读<小狗钱钱>,我对其中的"成功日记"概念特别深刻,偶尔也会记一记“成功日记”. 想了想人生走找到今天,阶段性“成功日记”有没有呢? 有的!几年前的一篇 ...
- 是什么让我走上Java之路?
选择方向,很多人都为根据自己的兴趣爱好和自己的能力所长而作出选择.那么是什么让我走上Java之路? 整个高三我有两门课程没有听过课,一门是数学,一门是物理.当时候物理没有听课的原因很简单,我有一本&l ...
- 我的Java之路
前言: 之前在学习python,刚开始的时候跟多数小白一样学习一些基础的知识,比如数据类型,用法,基本的语言结构,学了一段时间实在是学习不下去了,真是太TMD的无聊了,很多方法都记不住,也不知道学了这 ...
- Java之路——初识Eclipse
零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 八.Eclipse 快捷键 九.总结 一.前 ...
随机推荐
- 敏捷项目管理—Scrum框架总结
Scrum中的角色 Scrum Master——项目负责人.项目经理 保护团队不受外界干扰,是团队的领导和推进者,负责提升 Scrum 团队的工作效率,控制 Scrum 中的“检视和适应”周期过程.与 ...
- webssocket简介-服务器可以主动传送数据给浏览器
WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据.在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并 ...
- Unable to resolve dependency for ':app@debug/compileClasspath' could not resolve com.android.support:design:28.0.0
使用AndroidStudio3.2报这个错 配置 解决方法 1)去掉代理 gradle目录的下代理属性也 注销掉. 2)项目的gradle设定 3)设定项目的gradle-wrapper.pro ...
- vue-cli安装webpack项目及初始配置
这个下载包是自己基于 webpack 搞的,可以看看https://github.com/chichengyu/webpack vue-cli安装 输入 npm install vue-cli -g ...
- 【maven】maven下载依赖jar的源码
mvn dependency:sourcesmvn dependency:resolve -Dclassifier=javadoc 命令使用方法:首先进入到相应的pom.xml目录中,然后执行以上命令 ...
- 在 Alpine Linux 中安装 bash shell
如何在我的 Alpine Linux LXD(Linux容器)虚拟机(VM)中安装 bash shell? Alpine Linux 自带 BusyBox 工具.它被评为“嵌入式 Linux 的瑞士军 ...
- Manifest中meta-data扩展元素数据的配置与获取
简介-meta是什么 在AndroidManifest.xml清单文件中 我们有时会看到如下类似的<meta-data ... >元素开始的配置内容: <meta-data andr ...
- 【JavaScript】frame跨域访问元素
什么是跨frame访问元素呢?比如main.html中有如下代码: <frameset cols="50%,*"> <frame src="frame1 ...
- linux命令(55):环境变量:LIBRARY_PATH 和 LD_LIBRARY_PATH的区别
添加环境变量:https://www.cnblogs.com/lovychen/p/5583703.html PATH是可执行文件的环境变量. LIBRARY_PATH 和 LD_LIBRARY_PA ...
- 微信支付:URL未注册问题
起因:一个项目已经做好了,微信支付也调通的,域名 www.xxxx.com ,某天客户需要换域名,改为weixin.xxxx.com, 原先的www转向客户自己的官网,结果换了之后,发现微信支付出错: ...