首页 > 编程语言 >Java_String&ArrayList

Java_String&ArrayList

时间:2022-08-26 15:12:56浏览次数:84  
标签:Java String int ArrayList 集合 字符串 public

Java_String&ArrayList

String

String类概述

String 概述

  • java.lang.String 类代表字符串,String类定义的变量可以用于指向字符串对象,然后操作该字符串。
  • Java 程序中的所有字符串文字(例如“abc”)都为此类的对象。
String name = "小黑";

String类的特点详解

  • String其实常被称为不可变字符串类型,它的对象在创建后不能被更改。

字符串对象存在哪里?

  • “ ” 方式给出的字符串对象,在字符串常量池中存储。

String类创建对象的两种方式

  • 方式一:直接使用 “ ” 定义。(推荐方式)

    String name = "hello";

  • 方式二:通过String类的构造器创建对象。

构造器 说明
public String() 创建一个空白字符串对象,不含有任何内容
public String(String original) 根据传入的字符串内容,来创建字符串对象
public String(char[] chs) 根据字符数组的内容,来创建字符串对象
public String(byte[] chs) 根据字节数组的内容,来创建字符串对象

有何区别

  • 以“ ”方式给出的字符串对象,在字符串常量池中存储,而且相同内容只会在其中存储一份。
  • 通过构造器new对象,每new一次都会产生一个新对象,放在堆内存中。
String s1 = "abc";

String s2 = "abc";

System.out.println(s1 == s2); // true

char[] chs = {'a', 'b', 'c'};

String s3 = new String(chs);

String s4 = new String(chs);

System.out.println(s3 == s4); // false

在这里插入图片描述

在这里插入图片描述

String常见面试题

public class Test2 {
    public static void main(String[] args) {
        String s2 = new String("abc");//此处创建了两个对象
        String s1 = "abc";
        System.out.println(s1 == s2);//false
	} 
}

在这里插入图片描述

public class Test3 {
    public static void main(String[] args) {
        String s1 = "abc";
        String s2 = "ab";
        String s3 = s2 + "c";
        System.out.println(s1 == s3);//false
	} 
}
public class Test4 {
    public static void main(String[] args) {
        String s1 = "abc";
        String s2 = "a" + "b" + "c";
        System.out.println(s1 == s2);//true
        //因为java存在编译优化机制,"a" + "b" + "c"在编译时会转成"abc"
    } 
}

String类常用API

字符串内容比较

  • 推荐使用String类提供的“equals”比较:只关心内容一样即可
方法名 说明
public boolean equals (Object anObject) 将此字符串与指定对象进行比较。只关心字符内容是否一致!
public boolean equalsIgnoreCase (String anotherString) 将此字符串与指定对象进行比较,忽略大小写比较字符串。只关心字符内容是否一致!

遍历,替换,截取,分割操作

方法名 说明
public int length() 返回此字符串的长度
public char charAt(int index) 获取某个索引位置处的字符
public char[] toCharArray() 将当前字符串转换成字符数组返回
public String substring(int beginIndex, int endIndex) 根据开始和结束索引进行截取,得到新的字符串(包前不包后)
public String substring(int beginIndex) 从传入的索引处截取,截取到末尾,得到新的字符串
public String replace(CharSequence target, CharSequence replacement) 使用新值,将字符串中的旧值替换,得到新的字符串
public String[] split(String regex) 根据传入的规则切割字符串,得到字符串数组返回

ArrayList

集合概述

集合与数组类似,也是一种容器,用于存储数据。

数组的特点:

  • 数组定义完成并启动后,类型确定、长度确定。
  • 问题:在个数不能确定,需要进行增删数据的操作时,数组不合适。

集合的特点:

  • 集合大小不固定,声明后可以动态变化,类型也可以选择不固定。
  • 集合非常适合做元素个数不确定,且要进行增删操作的业务场景。
  • 集合还提供了许多丰富、好用的方法,而数组的功能很单一。

ArrayList集合快速入门

ArrayList集合

  • ArrayList是集合的一种,它支持索引。

ArrayList集合的对象获取

构造器 说明
public ArrayList() 创建一个空的集合对象

ArrayList集合添加元素的方法

方法名 说明
public boolean add(E e) 将指定的元素追加到此集合的末尾
public void add(int index,E element) 在此集合中的指定位置插入指定的元素

ArrayList对于泛型的支持

泛型概述:

  • ArrayList:其实就是一个泛型类,可以在编译阶段约束集合对象只能操作某种数据类型。

举例:

  • ArrayList :此集合只能操作字符串类型的元素。
  • ArrayList:此集合只能操作整数类型的元素。

注意:集合中只能存储引用类型,不支持基本数据类型。

ArrayList常用API、遍历

方法名称 说明
public E get(int index) 返回指定索引处的元素
public int size() 返回集合中的元素的个数
public E remove(int index) 删除指定索引处的元素,返回被删除的元素
public boolean remove(Object o) 删除指定的元素,返回删除是否成功
public E set(int index, E element) 修改指定索引处的元素,返回被修改的元素

标签:Java,String,int,ArrayList,集合,字符串,public
From: https://www.cnblogs.com/zhangj9/p/16627601.html

相关文章