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的更多相关文章

  1. Java之路——名词解释(一)

    一.开篇 许多人在初接触Java的时候,都会被各种Java的英文缩写名词给弄得头晕脑胀.看一个技术,内容里又会有一堆其他的技术名词,看了半天不知所云.尝试去查一下这些名词的解释,除了非常学术性的解释之 ...

  2. Java之路——敬JAVA初学者(作者:MoMo)

    作为一名大四的毕业生,大学三年过,有得有失.作为一个喜欢编程,喜欢JAVA的人,自学其实是一件美事,很有意思的事.要是能再找个女朋友一起学.嘿嘿,就不枉在大学走了一遭啊!    要离开学校了,还是想留 ...

  3. Java之路——环境配置与编译运行

    本文大纲 一.开篇 二.JDK下载 三.JDK安装 四.环境配置 五.初识Java编译 六.Java与Javac 七.第一个Java程序 八.总结 九.参考资料 一.开篇 通过对之前Java之路的了解 ...

  4. Java之路 ——初识Eclipse

    零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 八.Eclipse 快捷键 九.总结 一.前 ...

  5. 2017-2018-1 JAVA实验站 冲刺 day07

    2017-2018-1 JAVA实验站 冲刺 day07 各个成员今日完成的任务 小组成员 今日工作 完成进度 张韵琪 写博客.进行工作总结 100% 齐力锋 部分按钮图片.对按钮图片进行ps 100 ...

  6. 转行自学 Java 之路的纪念册

    前言: 最近在重读<小狗钱钱>,我对其中的"成功日记"概念特别深刻,偶尔也会记一记“成功日记”. 想了想人生走找到今天,阶段性“成功日记”有没有呢? 有的!几年前的一篇 ...

  7. 是什么让我走上Java之路?

    选择方向,很多人都为根据自己的兴趣爱好和自己的能力所长而作出选择.那么是什么让我走上Java之路? 整个高三我有两门课程没有听过课,一门是数学,一门是物理.当时候物理没有听课的原因很简单,我有一本&l ...

  8. 我的Java之路

    前言: 之前在学习python,刚开始的时候跟多数小白一样学习一些基础的知识,比如数据类型,用法,基本的语言结构,学了一段时间实在是学习不下去了,真是太TMD的无聊了,很多方法都记不住,也不知道学了这 ...

  9. Java之路——初识Eclipse

    零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 八.Eclipse 快捷键 九.总结 一.前 ...

随机推荐

  1. 服务器负载过高问题分析-不是cpu高负载也不是IO负载如何处理(阿里 几乎是必考题)

    关于top命令 经常问load average 参考:load average 定义(网易面试) jvm dump的使用 参考:Jvm dump jstack jmap jstat 介绍与使用(内存与 ...

  2. opencv 图像resize

    这是文档中的函数原型 cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) 参数说明src:要resize的原图,应该是一个矩阵 dsi ...

  3. 【C++】C++中的动态内存解析

    目录结构: contents structure [-] 动态内存和智能指针 使用shared_ptr管理内存 使用new直接管理内存 shared_ptr和new结合使用 unique_ptr we ...

  4. Filebeat的使用

    前言 logstash本身就可以具有文件数据采集的功能了,为什么还需要在前面加一层filebeat?理由如下:logstash是使用Java编写,插件是使用JRuby编写,对机器的资源要求会比较高,在 ...

  5. Spring Web Flux 相关概念

    Reactive Streams.Reactor 和 Web Flux 上面介绍了反应式编程的一些概念,以及 Reactor 和 Web Flux.可能读者看到这里有些乱.这里介绍一下三者的关系.其实 ...

  6. Python3用多线程替代for循环提升程序运行速度

    [本文出自天外归云的博客园] 优化前后新老代码如下: from git_tools.git_tool import get_collect_projects, QQNews_Git from thre ...

  7. java面试题实战三

    华为优招面试经验. 1.笔试(这部分按照华为以前的风格不会为难人的,认真做AC一道题就可以进面试了,我编程能力一般吧,做了一道半而已,-_-||!) 2.测评(性格测试,不要太偏激就行了) 3.面试分 ...

  8. maven安装和应用

    maven安装和应用 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 https://www.cnblogs.com/xihehua/p/9639045.html https://w ...

  9. ros 源码安装

    版本lunar, 系统版本debian 9.8 参考: http://wiki.ros.org/lunar/Installation/Source 1. Installing bootstrap de ...

  10. vue获取不到后端返回的响应头

    Response.ContentType = EPPlusHelpler.ExcelContentType; Response.Headers.Add("FileName", fi ...