Java(二)(String的常见方法,ArrayList的常见方法)

String

创建string对象

package Helloworld;

public class dome1 {

    public static void main(String[] args) {
        
        // 1.直接双引号得到字符串对象,封装字符串对象
        String name = "lihao";
        System.out.println(name);
        // 2. new String 创建字符串对象,并调用构造器初始化字符串
        String rs1= new String();
        String rs2 = new String("lihao");

        char[] chars ={'a','黑','马'};
        String rs3 = new String(chars);
        System.out.println(rs3);

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

    }


}

String常用方法

package Helloworld;
public class dome1 {
    public static void main(String[] args) {

        String s = "Java";
        // 1. 获取字符串的长度
        System.out.println(s.length());
        // 2.提取字符串中的某个索引位置处的字符
        char c = s.charAt(1);
        System.out.println(c);
        //3.字符串遍历
        for (int i = 0; i < s.length(); i++) {
            char ch = s.charAt(i);
            System.out.print(ch);
        }
        // 3.把字符串转换成字符数组,在进行遍历
        char[] chars = s.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            System.out.println(chars[i]);
        }
        // 4.判断字符串内容,内容一样就返回true
        String s1 = new String("牛逼克拉斯");
        String s2 = new String ("牛逼克拉斯");
        System.out.println(s1.equals(s2));

        // 5. 忽略大小写比较字符串内容
        String c1 = "123456aA";
        String c2 = "123456Aa";
        System.out.println(c1.equals(c2));
        System.out.println(c1.equalsIgnoreCase(c2));

        //6.截取字符串内容(包括前的不包括后面的)
        String s3 = "Java是最好的编程语言之一";
        String rs = s3.substring(0,8);
        System.out.println(rs);
        // 7.从当前索引位置一直截到字符串的末尾
        String rs2 = s3.substring(5);
        System.out.println(rs2);

        //8.把字符串中某个内容替换成新内容,并返回新的字符串对象给我们
        String info = "这个电影是个垃圾,垃圾电影!!";
        String info1= info.replace("垃圾","**");
        System.out.println(info);
        System.out.println(info1);
        //9.判断字符串中是否包含某个关键字
        String info3 = "Java是最好的语言";
        System.out.println(info3.contains("Java"));

        //10.判断字符串是否以某个字符串开头
        String rs4 = "张三丰";
        System.out.println(rs4.startsWith("张三"));

        //11.把字符串按照指定内容分割成多个字符串
        String rs5 = "张无忌,张三丰,白月光,朱砂痣";
        String[] names= rs5.split(",");
        for (int i = 0; i < names.length; i++) {
            System.out.println(names[i]);
        }
    }
}

注意事项:

(1)String的对象是不可变字符串对象

(2)只要是"..."方式写出的字符串对象,会存储到字符串常量池,且相同内容的字符串只存储一份,

但是通过new方式创建字符串常量,每new一次都会产生一个新的对象放到堆内存中

public class test1 {
    public static void main(String[] args) {
        String s1 = "abc";
        String s2 = "abc";
        System.out.println(s1 == s2); // true

        char[] chars={'a','b','c'};
        String a1 = new String (chars);
        String a2 =new String (chars);
        System.out.println(a1 == a2);  // false
    }

}

区别一点就是:"....."字符串对象是放到堆内存中的字符串常量池,每一回创建字符串对象的时候,都会在字符串常量池中去找,没有的话,在字符串常量池中创建,有的话,直接将这个的地址返回String对象,

但是(1)new出来的东西,是直接放到堆内存中的不管是不是字符串,即便是字符串也是直接在堆内存中开辟空间去存放(2)字符串运算出来的东西也会直接放到堆内存中

ArrayList

常见的方法

package demo;

import java.util.ArrayList;

public class test1 {
    public static void main(String[] args) {
        // 1. 创建一个ArrayList的集合对象
        ArrayList list = new ArrayList();
        list.add("李小谦");
        list.add(100);
        list.add(58);
        list.add("java");
        System.out.println(list);
        // ArrayList<String> list1 = new ArrayList<String>();
        ArrayList<String> list1 = new ArrayList<>();
        list1.add("李小谦");
        list1.add("java");
        System.out.println(list1);

        // 2.往集合中的某个索引位置处添加一个数据
        list.add(1,"MySQL");
        System.out.println(list);

        // 3.根据索引获取集合中某个索引位置的值
        String rs1 = list1.get(0);
        System.out.println(rs1);
        String rs2 = (String) list.get(0);
        System.out.println(rs2);
        int num = (int)list.get(3);
        System.out.println(num);
        // 4 .获取集合的大小(返回集合中存储的元素个数)
        System.out.println(list.size());
        // 5.根据索引删除集合中的某个元素值,会返回被删除元素值给我们
        System.out.println(list.remove(1));
        System.out.println(list);
        // 6.直接删除某个元素值,删除成功后返回true,反之false
        System.out.println(list.remove("java"));
        System.out.println(list);
        // 7.修改某个索引位置处的数据,修改后会返回原来的值给我们
        list.set(1,"伟大的程序员");
        System.out.println(list);

    }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/164074.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

汇编-指针

一个变量如果包含的是另一个变量的地址&#xff0c; 则该变量就称为指针(pointer) 。指针是操作数组和数据结构的极好工具&#xff0c;因为它包含的地址在运行时是可以修改的。 .data arrayB byte 10h, 20h, 30h, 40h ptrB dword arrayB ptrB1 dword OFFSET arrayBarray…

Linux中系统时间同步

在Windwos中&#xff0c;系统时间的设置很简单&#xff0c;界面操作&#xff0c;通俗易懂&#xff0c;而且设置后&#xff0c;重启&#xff0c;关机都没关系。系统时间会自动保存在BIOS时钟里面&#xff0c;启动计算机的时候&#xff0c;系统会自动在BIOS里面取硬件时间&#x…

庖丁解牛:NIO核心概念与机制详解 02 _ 缓冲区的细节实现

文章目录 PreOverview状态变量概述Position 访问方法 Pre 庖丁解牛&#xff1a;NIO核心概念与机制详解 01 接下来我们来看下缓冲区内部细节 Overview 接下来将介绍 NIO 中两个重要的缓冲区组件&#xff1a;状态变量和访问方法 (accessor) 状态变量是"内部统计机制&quo…

「Verilog学习笔记」根据状态转移表实现时序电路

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 分析 可得逻辑表达式为 可得逻辑表达式为 timescale 1ns/1nsmodule seq_circuit(input A ,input clk ,input rst_n,outpu…

小美的排列构造

美团2024届秋招笔试第一场编程真题 贪心问题&#xff0c;得到所有n全排列中相邻两数的和&#xff0c;这些和差距要尽可能小。 显然如果1和2排一起&#xff0c;或者让n和n-1相邻都是错误的。最好的方式是让相邻两数的和接近&#xff08;n1&#xff09;/2。 比如:n 1 n-1 2...…

分组表,分桶表

1&#xff0c;启动Hive服务 &#xff08;1&#xff09;启动HiveServer2服务 nohup hive --service metastore &&#xff08;2&#xff09;启动Metastore服务 nohup hive --service hiveserver2 &&#xff08;3&#xff09;查看进程信息 lsof -i:100002&#xff0c;…

生物信息基础:实用Git命令,掌握这些就够了

我发现有搞了几年生信的朋友还不会用Github管理代码&#xff0c;这不免令人意外。我一直强调基础知识的重要性&#xff0c;而这些知识又是可以在短时间内掌握的。Github管理平时写的代码&#xff0c;要用到Git命令。虽然官方Git命令非常多&#xff0c;但我们只要掌握常用的几个…

初始ProtoBuf

目录​​​​​​​ ⼀、初识ProtoBuf 1. 序列化概念 2. ProtoBuf是什么 3. ProtoBuf的使用特点 ⼆、安装ProtoBuf 1、ProtoBuf在window下的安装 2、ProtoBuf在Linux下的安装 ⼀、初识ProtoBuf 1. 序列化概念 序列化和反序列化 序列化&#xff1a;把对象转换为字节序列…

037、目标检测-SSD实现

之——简单实现 目录 之——简单实现 杂谈 正文 1.类别预测层 2.边界框预测 3.多尺度输出联结做预测&#xff08;提高预测效率&#xff09; 4.多尺度实现 5.基本网络块 6.完整模型 杂谈 原理查看&#xff1a;037、目标检测-算法速览-CSDN博客 正文 1.类别预测层 类别…

Elasticsearch中的语义检索

一、传统检索的背景痛点 和传统的基于关键词的匹配方式不同&#xff0c;语义检索&#xff0c;利用大模型&#xff0c;将文本内容映射到神经网络空间&#xff0c;最终记忆token做检索。 例如想要搜索中国首都&#xff0c;例如数据集中&#xff0c;只有一篇文章在描述北京&#x…

斯坦福机器学习 Lecture2 (假设函数、参数、样本等等术语)

假设函数定义 假设函数&#xff0c;猜一个 x->y 的类型&#xff0c;比如 y ax b&#xff0c;随后监督学习的任务就是找到误差最低的 a 和 b 参数 有时候我们可以定义 x0 1&#xff0c;来让假设函数的整个表达式一致统一 如上图是机器学习中的一些术语 额外的符号&#xf…

【Spring Boot 源码学习】Banner 信息打印流程

Spring Boot 源码学习系列 Banner 信息打印流程 引言往期内容主要内容1. printBanner 方法2. 关闭 Banner 信息打印3. SpringApplicationBannerPrinter 类3.1 LOG 模式打印3.1.1 getBanner 方法3.1.1.1 新建 Banners3.1.1.2 添加 ImageBanner3.1.1.3 添加 ResourceBanner3.1.1.…

宏--offsetof使用

文章目录 宏介绍结构体测试代码运行结果 宏介绍 宏--offsetof(type, member)&#xff0c;type就是结构的类型&#xff0c;member就是需要的成员名。表达式的结果是一个size_t的值&#xff0c;表示这个指定成员开始存储的位置距离结构开始存储的位置偏移几个字节结构体 typede…

Django自动生成docs接口文档

1.创建Django项目 python manage.py startproject django20252.创建子应用 python manage.py startapp api3.安装依赖包 pip install coreapi4.创建urls.py from django.contrib import admin from django.urls import path, include from rest_framework import routers f…

网络运维与网络安全 学习笔记2023.11.19

网络运维与网络安全 学习笔记 第二十天 今日目标 STP工作原理、STP高级配置、MSTP工作原理 MSTP配置案例、MSTP负载均衡 STP工作原理 单点故障 PC之间的互通链路仅仅存在1个 任何一个设备或链路出现问题&#xff0c;PC之间都会无法通信 解决方案 增加冗余/备份设备 增加冗…

PCL 计算一条射线与一个三角形的交点

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 这里我们使用点向式分别表示一个射线与一个三角形,如下图所示: 其中,平面的法向量 N N N可以由三角形两条边的叉乘来计算,点R0到平面的法向距离

数学建模值TOPSIS法及代码

TOPSIS法 TOPSIS法简称为优劣距离解法&#xff0c;是一种常见法综合评价方法&#xff0c;其能充分利用原始数据的信息&#xff0c;其结果能精确地反映各个评价方案之间的差距。 模型介绍 上篇文章谈到的层次分析法是有局限性的。比如评价的决策层不能太多&#xff0c;太多的…

脚本(JavaScript)-练手-简单的随机音乐播放器

浅浅的写个简单的随机音乐播放脚本(可移动)&#xff0c;注释很详细&#xff0c;直接上源码 效果&#xff1a; // UserScript // name 播放音乐脚本 // namespace 代码对我眨眼睛 // version 1.2 // description 在API上请求音乐链接并随机自动连续播放音乐&…

【MySQL--->事务】

文章目录 [TOC](文章目录) 一、基本概念二、事务的操作1.设置全局事务隔离级别2.设置事务提交方式3.事务操作 三、事务隔离性1.隔离性概念2 .隔离级别设置 四、MVCC多版本控制2. read view 一、基本概念 事务是由若干条具有逻辑相关性的SQL语句组成的,用来完成某种任务的**逻辑…

使用 C 语言快速排序将字符串按照 ASCII 码升序排列

示例代码&#xff1a; #include <stdio.h> #include <string.h> #include <stdlib.h>static Comp(const void *a, const void *b) {char *pa (char *)a;char *pb (char *)b;return strcmp(a, b); }int main(void) {char strs[3][10] { "bd", &q…