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. git 下载指定tag版本的源码<转>

    git clone --branch x.x.x https://xxx.xxx.com/xxx/xxx.git 原文地址:https://blog.csdn.net/weixin_30617561/ ...

  2. 类中嵌套定义指向自身的引用(C、C++、C#)或指针(C、C++)

    在定义类的时候,类中可以嵌套定义指向自身的引用(C.C++.C#)或指针(C.C++).详见代码: Node类: using System; using System.Collections.Gene ...

  3. 在easyui-tabs中的href或 content的多种条件下的不同页面内容和页面地址的赋值?

    $('#tt').tabs('add', {.....});中 的 加载内容, 可以用content, 或用 href都是可以的. 虽然它们加载 的方式不一样, 但是 只要是加载进去后, 加载成功后, ...

  4. Tesserac初探

    安装Tesseract Windows 系统 下载可执行安装文件https://code.google.com/p/tesseract-ocr/downloads/list安装.或者https://d ...

  5. 使用innobackupex进行mysql的差异备份还原和延迟复制

    使用innobackupex进行mysql的差异备份还原和延迟复制 背景: 有同事执行update语句没有添加where条件,导致大量脏数据,需要将这张表恢复到前一天 数据库上有备份,每周一次完整备份 ...

  6. WebGL学习笔记(十六):遮罩

    这里总结下几种WebGL中实现遮罩的方法. 模板缓冲 模板缓冲可以实现渲染剔除,但是我们之前的学习里,剔除范围是基于上一次渲染的结果,且上一次的渲染也会进行显示,这样的话并不适合用来实现遮罩. 我们想 ...

  7. Nginx 配置 HTTP

    配置如下 #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; ...

  8. Nginx请求转发

    1.比如说我要将127.0.0.1/topics上的所有请求转发到xxx:xxx/上 修改 sudo vim /etc/nginx/nginx.conf server { listen 80; ser ...

  9. 工控随笔_23_WinCC报Application CCArchiveConnMon.exe could not establish a connection to the Win CC license server

    西门子的软件都是比较庞大的,安装一个软件要很长时间,而且安装的过程中很容易因为系统兼容性问题导致不能成功安装的情况, 而有时还会出现安装成功,但是不能正常使用的情况.这个时候就很麻烦,一般除了重装系统 ...

  10. 【python库】tqdm介绍及常用方法

    前言 Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator).具体使用可以查看官网. 操作 fr ...