Java基础

StringBuilder

1.可变的字符序列。
2.主要操作是:append和insert方法,它们会被重载以接受任何类型的数据。每个有效地将给定的基准转换为字符串,然后将该字符串的字符追加或插入到字符串生成器中。

append方法始终将这些字符添加到生成器的末尾insert方法在指定点添加字符。

例如,如果z指向当前内容为“ start”的字符串构建器对象,则方法调用z.append(“ le”)会使字符串构建器包含“ startle”,而z.insert(4,“ le”)将更改字符串生成器以包含“ starlet”。

通常,如果sb引用StringBuilder的实例,则sb.append(x)与sb.insert(sb.length(),x)具有相同的效果。

每个字符串生成器都有能力。只要字符串生成器中包含的字符序列的长度不超过容量,就不必分配新的内部缓冲区。如果内部缓冲区溢出,则会自动变大。

3.StringBuilder实例不能安全地用于多个线程。如果需要这样的同步,则建议使用StringBuffer。

StringBuffer

1.线程安全的可变字符序列。字符串缓冲区类似于字符串,但是可以修改。它在任何时间点都包含一些特定的字符序列,但是可以通过某些方法调用来更改序列的长度和内容。字符串缓冲区可安全用于多个线程。这些方法在必要时进行同步,以使任何特定实例上的所有操作都表现为好像以某种串行顺序发生,该顺序与所涉及的每个单独线程进行的方法调用的顺序一致。

2.主要操作是append和insert方法,它们会被重载以接受任何类型的数据。每个有效地将给定的基准转换为字符串,然后将该字符串的字符追加或插入到字符串缓冲区中。

append方法始终将这些字符添加到缓冲区的末尾。 insert方法在指定点添加字符。这里与StringBuilder一致。

3.从JDK 5版本开始,该类已经添加了一个等效类,该类旨在供单线程StringBuilder使用。通常应优先使用StringBuilder类,因为它支持所有相同的操作,但是它更快,因为它不执行任何同步,因此它优先于该类。

 

数据结构与算法基础

1.数据结构:在计算机内存中的数据的一种安排,包括数组、链表、栈、二叉树、哈希表等。

2.算法:对数据结构中的数据进行的各种处理。

3.数据库:在某一特定情况下所有要查阅的数据。

4.记录:数据库中划分成的单元。为存储信息提供了一个结构格式。

5.字段:一个记录经常被划分为几个字段。一个字段保存某一种特定的数据。

6.关键字:指定的记录的某一个字段。通过这个特定的关键字来进行查找。

7.对象的引用:

bc2 = bc1;        //Java中,向bc2中拷贝了bc1指向的存储地址,现在bc1和bc2实际上指的是同一个对象,都是对这个对象的引用。
public static void main(String[] args) {

        Dog[] dogs = new Dog[8];
        dogs[0] = new Dog("A");
        dogs[1] = new Dog("B");

        System.out.println(dogs[0].getName());    // 输出A
        System.out.println(dogs[1].getName());    // 输出B
 
        dogs[0] = dogs[1];                                  //这里0指向了1的对象,相当于此时0、1指向了同一对象

        dogs[0].setName("C");                             //当0对象名变为C时,相应的1对象名也会变为C(0、1指向了同一对象
)

        System.out.println(dogs[0].getName());     // 输出 "C"
        System.out.println(dogs[1].getName());     //  输出"C"

    }

 

8.定义数组:

int[] intArray = new int[100];     //其中的int[]是数组类型,而不是数据类型
Dog[] dogs = new Dog[8];       //Dog[]是一个数组类型,而不是数据类型

 

posted @ 2021-02-03 20:50  Xiarsu  阅读(54)  评论(0)    收藏  举报