Java学习之day12

Arrays工具类

    排序方法 

    String[] string = {"abc","nba","cba","aba"};
    // 使用工具类Arrays的排序方法
    Arrays.sort(string);

    查找方法

   int[] array = {11,22,33,44,55,66};
   // 返回值 负数 说明数组中没有要找的这个数
   // 实际上返回的是 -(应该放的角标位置 + 1)
   int index = Arrays.binarySearch(array, 56);

StringBuffer 字符串缓冲区

    作为一个字符容器,可以对数据进行临时存储。

特点:

    1.长度可以变化。

    2.可以通过指定方法对内容进行修改。

    3.容器对象一般都会具备对容器中的元素进行操作的功能。

    4.缓冲区可以存储不同类型的数据。

    5.最终缓冲区存储完的数据都会变成字符串。

StringBuffer的常见方法:

    拼接方法:

    // 创建一个StringBuffer对象
    StringBuffer sb = new StringBuffer();
    sb.append("wacxzcas").append(false);    

    append(可以传入各种数据)。

    插入方法:

sb.insert(4, "da").append("nb");

    由于方法的返回值是StringBuffer类型的,在调用了一个方法之后可以继续通过.来调用方法。

    删除方法:  

    1.删除某一段

    // 删除
    StringBuffer sb = new StringBuffer("sdwcacxad");
    // 实际删除的是[0,2]  [0,3)
    // 传入结束坐标 > 字符串的长度 相当于清空字符串
    sb.delete(0, 3);
    System.out.println(sb);

    2.删除某一个字符   

    // 注意:传入的是要删除的字符的角标
    sb.deleteCharAt(2);
    System.out.println(sb);

    替换方法:

    // 替换
    StringBuffer sb = new StringBuffer();
    sb.append("wsfglong");
    sb.replace(0, 4, "cheng");

    和删除方法一样传入的坐标是左闭右开。

    什么时候使用字符串缓冲区:

        数据很多,个数未确定,类型未确定,只要最后都转成字符串,就使用StringBuffer。

    使用的局限性:

    1.最终必须转成字符串。

    2.无法对存储进来的元素进行单独操作。因为存储进来的元素都变成字符串。

    JDK1.5以后,出现了StringBuilder,StringBuilder和StringBuffer用法一样。StringBuffer是线程同步的,StringBuilder是线程不同步的。一般选择StringBuilder,因为速度快。

    String、StringBuffer、StringBuilder三个操作字符串的类,当做参数时的效果也不太相同。字符串在当参数的时候 和基本数据类型一样,是值得传递,StringBuffer、StringBuilder相当于传对象地址。


    

  基本数据类型的包装类

  byte Byte

  short Short

  int Integer

  long Long

  float Float

  double Double    

  boolean Boolean

  char Character

    基本类型的包装类的作用:有类就能增加成员方法 静态方法,功能也能进行扩展。还有一个重要功能就是在基本类型和String类型之间互相转换。

    字符串转成基本数据类型使用的是parse基本类型("字符串")。

    JDK1.5以后,有了新的技术:自动装箱,自动拆箱。有了这些技术后,可以像操作int一样操作Integer。

    Integer i = 4;    // 自动装箱 Integer.valueOf(4);
    i = i + 6;       //右边i自动拆箱 i.intValue() + 6 运算结果又一次装箱赋值给i

    自动装箱的值如果在byte范围之内,相同的值不会单独开辟空间,而是重复使用。


集合(容器)    

    1.单列集合

    2.双列集合

    

    为什么会出现集合类:

    面向对象语言对事物的体现都是以对象的形式,所以为了方便多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式。

    数组的弊端:

    1.长度一旦确定,不能变;

    2.只能保存相同数据类型的元素。

    集合的好处:

    1.长度可变;

    2.可以存放不同类型的元素。

集合关系图:


Collection接口中的共性功能

    1.添加  

  boolean add(object o);    //一次加一个
  boolean add(Collection c);  //将制定容器中所有元素添加

    2.删除

 
 
void clear(); //移除此Collection中所有元素
boolean remove(object o); //移除指定元素的单个实例

    3.获取长度

int size();

    4.判断

boolean isEmpty(); // 判断是否为空
boolean contains(object o);  //判断是否包涵

    5.将集合转成数组

toArray();



    

  





猜你喜欢

转载自blog.csdn.net/ande1922/article/details/80355512