【JAVA300】56-60 笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jvao_q7/article/details/77892524
56_数组_StringBuilder和StringBuffer的使用_常用方法_方法链的实现_JDK源码分析.wmv
/**
*String不可变字符序列
*可变字符序列。 StringBuilder(不安全,效率高)和StringBuffer(线程安全,效率低)
"
""/
public class Test01 {
    public static void main(String[] args){
            StringBuilder sb = new StringBuilder();// 字符数组长度初始为16
            StringBuilder sb1 = new StringBuilder(32);//字符数组长度初始为32
            StringBuilder sb2= new StringBuilder("abcd");//字符数组长度初始为32,value[] = {'a','b','c','d','\0000','\0000'}
            sb2. append("efg");//增加,字符相连
            sb2.append(true).append(321).append("随便")//通过return this 实现方法链
    }
}

/////
public StringBuilder append(String str){
            super.append(str);
            return this; //构成方法链
}

57_数组_StringBuilder和StringBuffer的使用_JDK源码分析内部机制.wmv

StringBuilder gh = new StringBulider("a");
for(int i = 0; i < 1000; i++){//长度超过16+1.
        gh.append(i);
}
System.out.println(gh);

////
如果数组容量比长度大。则扩容length*2+2。然后arraysOf到新的数组


58_数组_StringBuilder和StringBuffer的使用_常用方法补充_常见面试题答法.wmv
/**
*delect()把数组某一个数值删除
*
*
**/

    StringBuilder sb = new StringBuilder("abcdefghijklmnopqrstuvwxyz");
    sb. delete(3,5);删除其中,包头不保尾
    sb.delete(3,5).sb.delete(3,5);//可以连着删
    System.out.println(sb);//abc defghijklmnopqrstuvwxyz//红色为删除的
    sb. reverse();//倒着遍历


     StringBuffer sb2 = new StringBuffer("abcdefghijklmnopqrstuvwxyz");
//安全锁


59_数组_模拟ArrayList容器的底层实现_JDK源码分析ArrayList.wmv

stringbuilder:
    char[] value

ArrayList:
    Object[] elements

package cn.bjsxt.myCollection;
/**
*模拟实现JDK中提供的ArrayList类
*@author 
*
*/
public class MyArrayList{
        /**
        * the value is used for object storage,
        */
        Object[] value;

        /**
        * the size is the number of objects used,
        */
        int size;

        public MyArrayList(){
                this(16);
                //value = new Object[16];
        }
        public MyArrayList(int size){
                value = new Object[size];
        }

        public void add(Object obj){
                value[size] = obj;
                size++;
                if(size>=value.length){//扩容
                    int newCapacity = value.length*2;
                    Object[] newList = new Object[newCapacity];
                    //System.arrcopy

                    for(int i=0;i<value.length;i++){
                            newList[i] = value[i];
                        }
                    value = newList;
            }
        }

        public Object get(int index){
                if(index<0||index>size-1){
                        try{
                        throw new Exception();//抛出异常
                        }catch(Exception e){
                                e。printStackTrace();
                        }
                }
                return value[index];
        }

        public int indexOf(Object obj){

        }

        public static void main(String[] args){
                MyArrayList  List = new MyArrayList();
                list.add("aaa");
                list.add(new Human("高淇"));
                list.add("bbbbb");
                
                System.out.println(list.get(1));//显示  cn.bjsxt,myCollection.Human@42aab87f
                Human h = (Human) list.get(1);
                System.out.println(h.name);//显示  高淇
        }

}



package cn.bjsxt.myCollection;

public class Human {
    String name;

    public Human(String name){
        super();
        this.name = name;
    }
}


60_数组_多维数组_基本语法_内存分析.wmv

package cn.bjsxt.array2;

public class Test01 {
    public static void main(String[] args){
        int [][] a = {              //一个框为一维,两个框为二维。。。
                        {1,2},
                        {3,4,0,9},
                        {5,6,7}
        };

        int [][] b = new int[3][];   //二维数值的另一种写法
        b[0] = new int [10];         //因为只定义了第一维数组,所以可以在定义第二维数组
        b[1] = new int [4];
        b[2] = new int [3];

        b[0][0] = 1;
        b[0][1] = 2;
        b[1][0] = 3;
        b[1][1] = 4;
        b[1][2] = 0;
        b[1][3] = 9;
        b[2][0] = 5;
        b[2][1] = 6;
        b[2][2] = 7;

        System.out.println(a[2][2]);



     }
}

猜你喜欢

转载自blog.csdn.net/jvao_q7/article/details/77892524
今日推荐