2021.3.12

一、数组(Array)

数组,是多个相同类型数据按照一定顺序排列的集合,并使用一个名字命名,通过编号的方式对这些数据进行统一管理

1.数组本身是引用数据类型,数组中元素可以是任何数据类型,包括基本数据类型和引用数据类型

拓展:Java四大数据类型分类 整型:byte 、short 、int 、long 浮点型:float 、 double 字符型:char 布尔型:boolean

2.数组的长度一但确定,就不能修改

3.java声明数组的时候不能指定其长度

4.动态初始化:int[] arr = new int[3];
静态初始化:int[] arr = new int[]{1,2};

5.数组一经分配空间,其元素也按照类型默认初始化

6.多维数组的初始化必须先初始化最外围数组的元素个数

数组中涉及的常见算法

1.数组元素的赋值(杨辉三角,回形数)
2.数组的赋值,反转,查找(线性查找,二分法查找)
3.数组元素的排序算法

排序算法

排序算法性能比较

1.冒泡排序

2.快速排序

3.简单选择排序

将需要排序的数组分为已排序和未排序两组,依次从未排序中选择最小的元素加入已排序中

4.二路归并排序

将两个有序表合并成一个有序表,按顺序依次比较两个有序表的对应元素,把小的移动到另一个表中,直到所有元素都移动完

操作数组的工具类

java.util.Arrays

二、String

String是一个final类,代表不可变的字符序列

String常用方法

① int length(): 返回字符串的长度: return value.length

 char charAt(int index) : 返回某索引处的字符return value[index]

② boolean isEmpty() : 判断是否是空字符串:return value.length == 0

 String toLowerCase() : 使用默认语言环境,将 String 中的所有字符转换为小写

 String toUpperCase() : 使用默认语言环境,将 String 中的所有字符转换为大写

③ String trim() : 返回字符串的副本,忽略前导空白和尾部空白

④ boolean equals(Object obj) : 比较字符串的内容是否相同

 boolean equalsIgnoreCase(String anotherString) : 与equals方法类似,忽略大小写

 String concat(String str) : 将指定字符串连接到此字符串的结尾。 等价于用“+”

 int compareTo(String anotherString) : 比较两个字符串的大小

⑤ String substring(int beginIndex) : 返回一个新的字符串,它是此字符串的从beginIndex开始截取到最后的一个子字符串。

⑥ String substring(int beginIndex, int endIndex): 返回一个新字符串,它是此字符串从beginIndex开始截取到endIndex(不包含)的一个子字符串。

⑦ boolean endsWith(String suffix) : 测试此字符串是否以指定的后缀结束

⑧ boolean startsWith(String prefix) : 测试此字符串是否以指定的前缀开始

 boolean startsWith(String prefix, int toffset) : 测试此字符串从指定索引开始的子字符串是否以指定前缀开始

 boolean contains(CharSequence s) : 当且仅当此字符串包含指定的 char 值序列时,返回 true

 int indexOf(String str) : 返回指定子字符串在此字符串中第一次出现处的索引

 int indexOf(String str, int fromIndex) : 返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始

 int lastIndexOf(String str) : 返回指定子字符串在此字符串中最右边出现处的索引

 int lastIndexOf(String str, int fromIndex) : 返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索
【注:indexOf和lastIndexOf方法如果未找到都是返回-1】

⑨ String replace(char oldChar, char newChar) : 返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。

 String replace(CharSequence target, CharSequence replacement) : 使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。

 String replaceAll(String regex, String replacement) : 使 用 给 定 的replacement 替换此字符串所有匹配给定的正则表达式的子字符串。

 String replaceFirst(String regex, String replacement) : 使 用 给 定 的replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。

 boolean matches(String regex) : 告知此字符串是否匹配给定的正则表达式。

 String[] split(String regex) : 根据给定正则表达式的匹配拆分此字符串。

 String[] split(String regex, int limit) : 根据匹配给定的正则表达式来拆分此字符串,最多不超过limit个,如果超过了,剩下的全部都放到最后一个元素中。

String类型转换

1.字符串 转 基本数据类型、包装类

Integer包装类的public static int parseInt(String s):可以将由“数字”字符组成的字符串转换为整型。
类似地,使用java.lang包中的Byte、Short、Long、Float、Double类调相应的类方法可以将由“数字”字符组成的字符串,转化为相应的基本数据类型。

2.基本数据类型、包装类 转 字符串

调用String类的public String valueOf(int n)可将int型转换为字符串
相应的**valueOf(byte b)、valueOf(long l)、valueOf(float f)、valueOf(double d)、valueOf(boolean b)**可由参数的相应类型到字符串的转换

3.字符数组 转 字符串

String 类的构造器:String(char[]) 和 String(char[],int offset,intlength) 分别用字符数组中的全部字符和部分字符创建字符串对象。

4.字符串 转 字符数组

public char[] toCharArray():将字符串中的全部字符存放在一个字符数组中的方法。
public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin):提供了将指定索引范围内的字符串存放到数组中的方法。

5.字节数组 转 字符串

String(byte[]):通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。
String(byte[],int offset,int length) :用指定的字节数组的一部分,即从数组起始位置offset开始取length个字节构造一个字符串对象。

6.字符串 转 字节数组

public byte[] getBytes() :使用平台的默认字符集将此 String 编码为byte 序列,并将结果存储到一个新的 byte 数组中。 public byte[] getBytes(String
charsetName)
:使用指定的字符集将 此 String 编码到 byte 序列,并将结果存储到新的 byte 数组。

StringBuffer类

StringBuffer append(xxx):提供了很多的append()方法,用于进行字符串拼接
StringBuffer delete(int start,int end):删除指定位置的内容
StringBuffer replace(int start, int end, String str):把[start,end)位置替换为str
StringBuffer insert(int offset, xxx):在指定位置插入xxx
StringBuffer reverse() :把当前字符序列逆转

StringBuilder类

StringBuilder 和 StringBuffer 非常类似,均代表可变的字符序列,而且 提供相关功能的方法也一样

对比String、StringBuffer、StringBuilder

String(JDK1.0):不可变字符序列 StringBuffer(JDK1.0):可变字符序列、效率低、线程安全
StringBuilder(JDK 5.0):可变字符序列、效率高、线程不安全

注意:作为参数传递的话,方法内部String不会改变其值,StringBuffer和StringBuilder会改变其值。

复习——数组,String相关推荐

  1. javaSE复习--数组

    宋红康老师 01-数组概述与一维数组的基本使用 1. 数组的理解(Array)概念:是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理.简称:多个数据的 ...

  2. a b c d java_java中数组String array{a,b,c,d,c,d,e}如何能把字段相同的分到另外的数组中...

    展开全部 数组中提取相同的字母,可以使用string的charat方法遍历字母,放到一个string中,找到之后删除掉这62616964757a686964616fe59b9ee7ad94313333 ...

  3. java 字符串转数组(String to Array)

    java 字符串转数组(String to Array) package com.journaldev.util;import java.util.Arrays; import java.util.r ...

  4. java String转数组||String转集合||将字符串转化为数组

    java String转数组||String转集合||将字符串转化为数组 如果你和我一样你们公司有人这样存数据的话 这就很气人,如果用分割的方法的话 还需要去除前后两个中括号,还有两个双引号要分割,气 ...

  5. List数组,string数组,Dictionary字典三种contain方法的查询速度

    在生成随机不重复数时要判断生成的数是否已生成过,这时就要和原来生成的数进行比较是否有重复,有以下三种方法 1. list数组采用contains()方法 2.string数组采用contains()方 ...

  6. 复习1 - String,StringBuilder,StringBuffer的执行效率区别

    该文章主要是针对于三者的执行速度来说,相对于String来说,String是要落后于StringBuffer的,StringBuffer相对于StringBuilder也稍微慢一点,开始试验 Stri ...

  7. 将字符串数组String[]转换成List的三种方法

    通过 Arrays.asList(strArray) 方式,将数组转换List后,不能对List增删,只能查改,否则抛异常. String[] strArray = new String[2]; Li ...

  8. java考前复习之String 类

    创建字符串 创建字符串最简单的方式如下: String str = "Runoob"; 在代码中遇到字符串常量时,这里的值是 "Runoob"",编译 ...

  9. 二维数组 string[,]

    string[,] strArr = {                                {"101","电脑"},                ...

最新文章

  1. Bzoj3168 [Heoi2013]钙铁锌硒维生素
  2. META的SEO优化中方法技巧
  3. springboot 问题总结
  4. GDCM:gdcm::FileMetaInformation的测试程序
  5. Java 线程数据交换控制器Exchange使用实例
  6. drawboard pdf拆分文件_PDF处理神器,几秒钟搞定格式转换+压缩+加水印+解密!
  7. php cookie控制提交频率
  8. mysql怎样dao出数据库_mysql怎么导出数据库?
  9. 合理抽象灵活运用排列组合(洛谷P2181题题解,Java语言描述)
  10. Without a pattern, these choices will make you very difficult.
  11. 黄大刀 :机房建设主要标准规范的介绍
  12. 手机计算机快速切换功能,电脑页面切换快捷键
  13. 搭建Kubernetes多节点集群
  14. java 系统 类_Java常用实体类--System类
  15. WDM和WDF usb驱动不同点
  16. WindowsServer2012r2远程桌面多用户同时远程连接设置
  17. Java记账本小项目一(图解超详细)
  18. 2022元宇宙十大商业魔咒
  19. Swift语言官方文档翻译(1)
  20. 世界杯主题系列-用Scratch制作足球比赛小游戏,源码分享啦

热门文章

  1. html 作用,作用.html
  2. 耳机连接电脑后,声音一卡一卡的,但是耳机连接手机没问题
  3. 博途v15安装过程中提示出错_在WIN10系统安装博途V15的详细步骤
  4. Android 插件化原理入门笔记
  5. 【先楫HPM6750系列】RT-Thread SPI驱动和WiFi联网
  6. 10G polkadot substrate : 准备一个本地平行链测试网
  7. 液冷计算机组装,液冷散热器
  8. c++实现简单的数据结构(1.链表合并 2.士兵队列训练问题 3.Rails 4.Josephus Problem 5.Tree Recovery 6.四则运算 7.愚人节的礼物 8.Web)
  9. EditPlus修改成护眼色
  10. 【项目分享】赶集团购Web App开发总结