文章目录

  • 1. StringBuffer类
    • 1.1 定义
    • 1.2 StringBuffer类与String类的区别
    • 1.3 功能
    • 1.4 String类和StringBuffer类的相互转换
  • 2. 数组元素的排序及索引的查找
  • 3. Arrays类
  • 4. 包装类

1. StringBuffer类

1.1 定义

  • StringBuffer:可变的字符序列,效率低,用于在多线程操作字符串缓冲区下操作大量数据。

1.2 StringBuffer类与String类的区别

  • String类:
    为不可变对象,一旦被创建,就不能修改它的值;
    对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去。
  • StringBuffer类:
    是一个可变对象,当对他进行修改的时不会像String那样重新建立对象,它只能通过构造函数来建立。
    StringBuffer ss = new StringBuffer();
    注意:不能通过赋值符号对他进行赋值
    ss = “w!”;//error

1.3 功能

  • 添加功能
    (1)append(String str):可以把任意类型数据添加到字符串缓存区里,并返回字符串缓冲区本身。
    (2)insert(int offset,String str):在指定位置把任意类型的数据插入到字符串缓冲区里面,并返回字符串缓冲区本身。

  • 删除功能
    (1) deleteCharAt(int index):删除指定位置的字符,并返回本身。
    (2)delete(int start,int end):删除从指定位置开始指定位置结束的内容,并返回本身。

  • 替换功能
    replace(int start,int end,String str): 从start开始到end用str替换。

  • 反转功能
    reverse(): 字符串反转

  • 截取功能
    (1) substring(int start): 从指定位置截取到末尾。
    (2)substring(int start,int end): 截取从指定位置开始到结束位置,包括开始位置,不包括结束位置。

  • 实例

1.4 String类和StringBuffer类的相互转换

(1)String----->StringBuffer

  • 方法一:构造方法
  • 方法二:append()方法

(2)StringBuffer------>String

  • 方法一:构造方法

  • 方法二:toString()方法

  • 方法三:substring()方法

  • 实例


  • String类中重写了equals方法,用来表示内容是否相等。
    StringBuffer类则没有重写equals方法。

2. 数组元素的排序及索引的查找

  • 数组元素的排序主要有冒泡排序、选择排序、直接插入排序、快速排序

  • 索引的查找主要是二分查找

  • 以一个数组工具类,完成冒泡排序、选择排序、二分查找,并测试为例

工具类:

测试类:

测试结果:

3. Arrays类

  • 针对数组进行操作的工具类
  • 功能
    (1)转换为字符串输出功能 :Arrays.toString(arr)
    (2)排序功能:Arrays.sort(arr)
    (3)查找功能:查找值所对应的索引 Arrays.binarySearch(arr,int)
    (4)比较功能:比较两数组中元素是否相同 Arrays.equals(arr1,arr2)
    (5)复制功能:copyOf(arr,newLength) 与 copyOfRange(arr,from,to)
  • 实例

4. 包装类

  • 为了对基本数据类型进行更多的操作,更方便的操作,java就针对每一种基本数据类型提供了对应的类类型。

  • 基本类型和包装类的对应
    byte——Byte
    short——Short
    int ——Integer
    long——Long
    float——Float
    double ——Double
    char ——Character
    boolean ——Boolean

  • 自动装箱:把基本类型转换为包装类类型
    自动拆箱:把包装类类型转换为基本类型

  • String类和int类的相互转换
    (1) int——>String
    方法一:拼接空串
    方法二:利用String类中的静态方法valueOf()
    方法三:int——>Integer——>String
    (2)String——>int
    方法一:利用Integer类中的静态方法parseInt()
    方法二:String——>Integer——>intValue()

  • 实例

JavaSE(八)——StringBuffer类、Arrays类、数组排序相关推荐

  1. Java基础学习笔记之:System类;Math类;Arrays类BigInteger,BigDecimal

    System类 在API中System类介绍的比较简单,我们给出定义,System中代表程序所在系统,提供了对应的一些系统属性信息,和系统操作. System类不能手动创建对象,因为构造方法被priv ...

  2. System类+Math类+Arrays类

    System类 System中代表程序所在系统,提供了对应的一些系统属性信息,和系统操作 l  currentTimeMillis()   获取当前系统时间与1970年01月01日00:00点之间的毫 ...

  3. java的知识点17——java.util.Arrays类、多维数组

    java.util.Arrays类 Arrays类包含了:排序.查找.填充.打印内容等常见的操作. 打印数组 package cn.dym08; import java.util.Arrays;pub ...

  4. 第三次学JAVA再学不好就吃翔(part60)--Arrays类

    学习笔记,仅供参考 文章目录 Arrays类 Arrays类概述 成员方法 toString方法 sort方法 binarySearch 举个例子 Arrays类 Arrays类概述 此类包含用来操作 ...

  5. Java基础:ArrayList类和Arrays类

    ArrayList类 ArrayList类 ArrayList类的意义 ArrayList使用步骤 ArrayList类的常用方法 ArrayList如何存储基本数据类型 Arrays类 Arrays ...

  6. Java 包装类和Arrays类的介绍

    文章目录 包装类 Arrays类 包装类 包装类其实就是8种基本数据类型对应的引用类型. 基本数据类型 引用数据类型 byte Byte short Short int Integer long Lo ...

  7. Java 知识点整理-7.StringBuffer类+冒泡排序+选择排序+二分法+Arrays类+基本数据类型的包装类

    1.StringBuffer类概述:线程安全的可变字符序列,一个类似于String的字符串缓冲区,但不能修改(不能像String那样用加号与其他类型数据连接),但通过某些方法调用可以改变该序列的长度和 ...

  8. Java Arrays类进行数组排序需要注意的事情

    注:本文来自http://www.cnblogs.com/xudong-bupt/p/3168618.html,所有权利归原作者所有. 排序算法,基本的高级语言都有一些提供.C语言有qsort()函数 ...

  9. JavaSE学习总结(八)常用类(上)Object类==与equals方法的区别浅克隆的特点Scanner类String类String两种创建对象方式的区别String类的各种功能

    JavaSE学习总结(八)常用类(上)/Object类/==与equals方法的区别/浅克隆的特点/Scanner类/String类/String两种创建对象方式的区别/String类的各种功能 常用 ...

最新文章

  1. NLP学习思维导图,非常的全面和清晰
  2. tf.keras.activations.sigmoid 激活函数 示例
  3. linux scp命令
  4. 检查列表中是否存在值的最快方法
  5. android onresume时view,android – 在使用ViewPager滑动时,Fragment不会调用OnResume()
  6. SpringMVC 中整合JSON、XML视图一
  7. 音视频技术开发周刊 | 136
  8. hazelcast入门教程_Hazelcast入门指南第5部分
  9. GetVersionEx 获取系统版本信息
  10. hbase 和 zookeeper建立连接_我对Hbase的一些理解——HMaster与Zookeeper之间的交互机制...
  11. springmvc项目,浏览器报404错误的问题
  12. 瑞芯微RK2918、全志A10和AML8726-M3方案ICS系统运行效果对比
  13. LeetCode 74. Search a 2D Matrix
  14. 学生电脑哪个牌子好_香米哪个牌子好
  15. [APK拆解]谷歌眼镜XE16设置新语言,当你盯着屏幕时可同步检测
  16. 高中分班考试如何计算机,新高一生如何应对分班考?
  17. 【解决方案】解除微信群二维码100人扫码限制和7天有效期!
  18. vscode超好玩好用的插件
  19. Oceans (where feet may fail)
  20. 牛逼,个人开发者可以申请微信支付了!

热门文章

  1. 我的世界java版联机不稳定_完善自己:“联机版游戏玩家”如何通过社交完善自己,这个社交跟你想的也许不一样1.0...
  2. 2020-06-18 CVPR2020 VL论文讨论(1) 笔记
  3. 计算机网络校园网建设设计摘要,计算机网络专业论文校园网建设设计.doc
  4. 网盘php资料,怎么搜索百度网盘里的资料(php版)
  5. listview显示mysql数据_C#在listview控件中显示数据库数据
  6. springboot 源码_springboot框架源码分享
  7. openfeign 负载均衡_再谈openfeign,聊聊它的源代码
  8. 调整亮度_【紫墨手机摄影课堂】图片调整
  9. e站host地址_Linux系统怎么使用命令行查询公网IP地址
  10. ubuntu截图软件deepin scrot