zoukankan      html  css  js  c++  java
  • java初学者笔记总结day11

    数组的api-Arrays

    数组转字符串
    数组全部元素设置默认值
    数组copy
    System.arrayCopy -->设置copy范围,copy新数组位置时候使用
    Arrays.copyOf-->copy全部内容使用
    数组排序 sort
    a)基本类型--》直接用
    b)引用类型:提供比较大小的方法-给sort使用
    1)利用Comparable接口---》数组元素自己类实现该接口-》提供比较大小的方法compareTo
    2)利用Comparetor接口---》新定义类实现该接口-》提供比较大小的方法compare
    数组二分法查找
    1)先排序 2)再使用
    数组的扩展知识
    增强for(foreach)
    语法:
    for(元素类型 元素变量 :容器(数组,list,set)对象){


    执行的过程:循环执行,循环容器元素的数量次。依次把容器里第一个到最后一个元素
    分别赋值给元素变量。

    作用:快速遍历容器的元素。
    注意:遍历容器的元素--》只能做读取容器元素的操作,不能设置元素。

    可变参数
    是什么?--》是一种特殊的【参数】--【数据类型】,类似于数组类型。
    语法:
    1)数组元素类型 ... 参数名
    2)方法只能定义一个可变参数,并且必须最后一个
    特殊之处
    1)方法内使用参数:就是一个数组类型
    2)方法调用的时候赋值:
    a)传递数组
    b)传递数组的元素(0到多个,通过逗号分割)

    各字符串对比
    String:不可变字符串
    StringBuilder:可变字符串,线程不安全,速度快
    StringBufferer:可变字符串,线程安全,速度慢

    不可变字符串:自身更改的操作都会产生新的字符串对象返回,自己内容不做更改。
    可变字符串:自身更改的操作可以直接把自己内容做更改。

    String常用api
    concat(了解即可)连接字符串
    转大小写

    StringBuilder和bufferer的功能(api基本相同)
    常用api
    追加(连接字符串)
    删除--》删除一个范围的内容
    插入
    替换--》替换一个范围的内容
    反转

    字符串拼接对比
    String +
    StringBuilder append
    StringBufferer append

    速度对比
    StringBuilder略大于StringBufferer远大于String

    怎么选择?
    1)多线程--》StringBufferer
    2)单线程
    拼接数量多-》StringBuilder
    拼接数量少-》String

  • 相关阅读:
    C# 中自定义配置
    git 打标签
    状态模式
    组合模式
    intellij自动生成java代码注释(java文件注释和方法注释)
    git版本回退
    Error:Unable to make the module:***, related gradle configuration was not found. Please, re-import the Gradle project and try again.
    Typo: In word 拼写检查
    javax.persistence.EntityNotFoundException: Unable to find报错
    报错org.springframework.dao.InvalidDataAccessResourceUsageException: could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet"
  • 原文地址:https://www.cnblogs.com/Tab1994/p/5459491.html
Copyright © 2011-2022 走看看