03—常用API(String和ArrayList)

String

1.1 概述

String类代表字符串,String类定义的变量可以用于指向字符串对象,然后操作字符串。

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

String变量每次的修改其实都是产生并指向了新的字符串对象;原来的字符串对象都是没有改变的,所以称为不可变字符串。

1.2 创建字符串对象

① 直接使用 " " 定义(推荐使用)

String str = "字符串内容";

② 使用String类的构造器去创建对象

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

package com.spark.study.test;

/**
 * Test1 class
 * description: 字符串创建的两种方式
 *
 * @author Administrator
 * @date 2022/12/25
 */
public class Test1 {
    public static void main(String[] args) {
        // 1.直接使用""
        String str = "Hello, world";
        System.out.println(str);
        // 2.使用String类的构造器
        String str1 = new String();
        System.out.println(str1);

        String str2 = new String("哈哈");
        System.out.println(str2);

        char [] chars = {'a', 'b', 'c', 'd', 'e'};
        String str3 = new String(chars);
        System.out.println(str3);

        byte[] bytes = {97,98,99,65,66,67};
        String str4 = new String(bytes);
        System.out.println(str4);

    }
}

两种创建对象方式的区别:

  • 以 " " 方式创建的字符串对象,在堆内存中的字符串常量池中存储,并且相同内容只会存储一份
  • 以构造器创建的字符串对象,每次使用new关键字都会产生一个对象,放在堆内存中

1.3 常用方法

方法名说明
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)根据传入的规则切割字符串,得到字符串数组返回

1.3.1 比较内容

当需要只比较字符串内容,不需要比较地址时,可以通过equals方法进行比较

① equals(Object object) 将字符串与指定对象进行比较,只关心字符串内容是否一致

② equalsIgnoreCase(String str) 将字符串与指定字符串进行比较,忽略大小写比较字符串。只关心字符串内容是否一致

package com.spark.study.test;

import java.util.Scanner;

/**
 * Test2 class
 * description: 常用方法之内容比较
 *
 * @author Administrator
 * @date 2022/12/25
 */
public class Test2 {
    public static void main(String[] args) {
        // 模拟登录
        String okusername = "admin";
        String okpassword = "123456";
        String yzkey = "2AOd";
        
        // 登录
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入用户名:");
        String username = scanner.next();
        System.out.println("请输入密码:");
        String password = scanner.next();
        System.out.println("请输入验证码:");
        String key = scanner.next();

        if(okusername.equals(username) && okpassword.equals(password) && yzkey.equalsIgnoreCase(key)){
            System.out.println("登录成功!");
        }else{
            System.out.println("登录失败!");
        }
    }
}

1.3.2 字符串长度

通过length()方法返回该字符串的长度

String str = "我爱你中国";
System.out.println(str.length()); // 5

1.3.3 返回索引处字符串 

charAt(索引位置) 可以返回字符串在该索引处的字符

String str = "我爱你中国";
System.out.println(str.charAt(1)); // 爱

 1.3.4 转化为字符数组

toCharArray()将字符串转换为字符数组

String str = "我爱你中国";
char [] chars = str.toCharArray();

1.3.5 截取字符串 

根据索引位置截取字符串

  • substring(开始索引,结束索引) 从开始索引处截取到结束索引位置,但是不包含结束索引处的字符
  • substring(开始索引) 从开始索引处截取到字符串结束 
String str = "我爱你中国";
String str1 = str.substring(3); // 中国
String str2 = str.substring(0,3); // 我爱你

 1.3.6 替换字符串

将字符串中的指定内容替换为新内容

  • replace(指定内容,新内容):将指定内容替换为新内容
  • replaceFirst(指定内容,新内容):将第一次匹配到的指定内容替换为新内容
String str = "我爱你中国,中国是我的故乡";
String str1 = str.replace("中国","河南"); // 我爱你河南,河南是我的故乡
String str2 = str.replaceFirst("中国","河南"); // 我爱你河南,中国是我的故乡

 ArrayList

2.1 概述

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

集合与数组的区别:

  • 数组定义后,类型和大小固定
  • 集合大小不固定,可以动态变化;数据类型也可以不固定
  • 集合适合做元素个数不确定,并且要进行增删改查的业务场景

2.2 快速入门 

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

ArrayList的使用:

  • 通过构造器创建ArrayList对象
  • 使用add()方法添加元素 
package com.spark.study;

import java.util.ArrayList;

/**
 * Test1 class
 * description: ArrayList快速入门
 *
 * @author Administrator
 * @date 2022/12/25
 */
public class Test1 {
    public static void main(String[] args) {
        // 1.使用构造器创建集合
        ArrayList list = new ArrayList();
        // 2.使用add方法添加元素
        list.add("hello world");
        list.add(123);
        list.add(123.123);
        list.add('中');
        list.add(true);
        // 3.使用add在指定索引位置添加元素
        list.add(1,"haha");
        System.out.println(list);
    }
}

2.3 对于泛型的支持 

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

举例:

  • ArrayList<Integer>:此集合只能操作整型的元素
  • ArrayList<String>:此集合只能操作字符串类型的元素 

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

package com.spark.study;

import java.util.ArrayList;

/**
 * Test2 class
 * description: 泛型约束集合存储的数据类型
 *
 * @author Administrator
 * @date 2022/12/25
 */
public class Test2 {
    public static void main(String[] args) {
        // 只能存储字符串类型
        ArrayList<String> list = new ArrayList<>();
        list.add("hello");
        list.add("world");
        System.out.println(list);

        // 只能存储整数类型
        ArrayList<Integer> list2 = new ArrayList<>();
        list2.add(123);
        list2.add(456);
        System.out.println(list2);

        // 存储任意类型
        ArrayList<Object> list3 = new ArrayList<>();
        list3.add("hello");
        list3.add(123);
        list3.add(false);
        System.out.println(list3);
    }
}

 2.4 常用API

方法说明
get(int index)返回指定索引位置的元素
size()返回集合中元素的个数
remove(int index)删除指定位置的元素,并返回被删除的元素
remove(Object object)删除指定的元素,返回删除是否成功
removeAll(Collection<?> c)从此列表中删除指定集合中包含的所有元素
clear()从列表中删除所有元素
clone()克隆列表
contains(Object object)如果此列表中包含指定元素,则返回true

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值