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. LeetCode 简要日记 455 104
  2. 双NameNode的同步机制
  3. 【NOI2013模拟】棋盘游戏
  4. 【BZOJ3676】 [Apio2014]回文串(SAM,manacher)
  5. 使用git checkout命令切换到指定的commit
  6. 将IDE检查应用于自定义Java批注
  7. 比特币矿商比特微正筹备美股上市
  8. 恒生电子2018.10企业招聘题目
  9. 六轴机械臂DIY(二)机械本体分析设计
  10. 乐优商城(四十八)评论微服务(一)
  11. 2021年煤矿井下爆破模拟试题及煤矿井下爆破考试试题
  12. Macbook安装win7和恢复系统的方法
  13. Flickr 被封!
  14. 数据库设计--数据流图(DFD)
  15. IPv6的NAT原理以及MAP66
  16. 理解restful协议
  17. 正确区分二维动画和三维动画的区别!
  18. cube-ui 维护记录 —— 前言
  19. IBM 服务器系统安装,以windows server 2008 为例
  20. Python入门基础学习笔记

热门文章

  1. 20201129_091.实例方法_内存分析方法调用过程_dir()_isinstance
  2. 如何在Excel表格中输入分数?学会这几招轻松搞定!
  3. DDS信号发生器设计matlab,基于DDS的LFM信号发生器
  4. Dijkstra经典言论
  5. 金秋十月 一场“春暖花开”的蜜月时光
  6. android微信风格,Android实用View系列-----仿微信支付宝等风格的支付密码输入框的实现...
  7. 1.8 日本蜡烛图技术之支撑和压力
  8. 零基础入门—网站建站教程(新手必备)
  9. Polkadot 账户
  10. 阿里云小蜜获评智能客服技术产品/解决方案大类推荐品牌