1. 程式人生 > 其它 >java常見的一些方法(一)

java常見的一些方法(一)

Java中常見的一些方法的使用:

Java to CharArray()方法

該方法將字串轉化為字元陣列

語法 :

public char[] toCharArray() 返回值是字元陣列

示例:

public class Test {
    public static void main(String args[]) {
        String Str = new String("www.runoob.com");

        System.out.print("返回值 :" );
        System.out.println( Str.toCharArray() );
    }
}
結果: 返回值 :www.runoob.com

Java substring() 方法

返回字串的子字串

語法:

public String substring(int beginIndex)

或

public String substring(int beginIndex, int endIndex)

引數:

  • beginIndex -- 起始索引(包括), 索引從 0 開始。
  • endIndex -- 結束索引(不包括)。

返回值: 子字串

示例:

public class RunoobTest {
    public static void main(String args[]) {
        String Str = new String("This is text");
 
        System.out.print("返回值 :" );
        System.out.println(Str.substring(4) );
 
        System.out.print("返回值 :" );
        System.out.println(Str.substring(4, 10) );
    }
}
結果:
返回值 : is text
返回值 : is te

Java ArrayList sort() 方法

sort()根據指定的順序對動態陣列中的元素進行排序

該方法的語法結構為:

arraylist.sort(Comparator c)

注: arraylist是ArraysList類的一個物件

引數Comparator是順序方式

sort方法不返回任何值,他只是更改動態陣列中的元素的順序

Java8 Comparator 排序方法

Java8 中 Comparator 介面提供了一些靜態方法,可以方便於我們進行排序操作,下面通過例子講解下如何使用

對整數列表排序(升序)

Comparator.naturalOrder()

List<Integer> list = Arrays.asList(1, 4, 2, 6, 2, 8);
list.sort(Comparator.naturalOrder());
System.out.println(list);

對整數列表排序(降序)

  • Comparator.reverseOrder()
List<Integer> list = Arrays.asList(1, 4, 2, 6, 2, 8);
list.sort(Comparator.reverseOrder());
System.out.println(list);

根據物件屬性(年齡)

  • Comparator.comparingInt(Person::getAge)
public class Test {
    public static void main(String[] args) {
        List<Person> personList = new ArrayList<>();
        personList.add(new Person("a", 2));
        personList.add(new Person("b", 4));
        personList.add(new Person("c", 7));
        // 升序
        personList.sort(Comparator.comparingInt(Person::getAge));
        // 降序
        personList.sort(Comparator.comparingInt(Person::getAge).reversed());
        System.out.println(personList);
    }

    public static class Person {
        private String name;
        private Integer age;

        public Person(String name, Integer age) {
            this.name = name;
            this.age = age;
        }

        public Integer getAge() {
            return age;
        }
        
        // ... toString 方法
    }
}

根據物件屬性(價格、速度)

  • ,需要注意的是,排序有先後之分,不同的順序會導致不同的結果
public class Test {
    public static void main(String[] args) {
        List<Computer> list = new ArrayList<>();
        list.add(new Computer("xiaomi",4000,6));
        list.add(new Computer("sony",5000,4));
        list.add(new Computer("dell",4000,5));
        list.add(new Computer("mac",6000,8));
        list.add(new Computer("micro",5000,6));
        // 先以價格(升序)、後再速度(升序)
   list.sort(Comparator.comparingInt(Computer::getPrice).thenComparingInt(Computer::getSpeed));
        // 先以速度(降序)、後再價格(升序)
     list.sort(Comparator.comparingInt(Computer::getSpeed).reversed().thenComparingInt(Computer::getPrice));
        // 先以價格(降序)、後再速度(降序)
        list.sort(Comparator.comparingInt(Computer::getPrice).thenComparingInt(Computer::getSpeed).reversed());
        System.out.println(list);
    }

    public static class Computer {
        private String name;
        private Integer price;
        private Integer speed;

        public Computer(String name, Integer price, Integer speed) {
            this.name = name;
            this.price = price;
            this.speed = speed;
        }

        public Integer getPrice() {

            return price;
        }

        public void setPrice(Integer price) {
            this.price = price;
        }

        public Integer getSpeed() {
            return speed;
        }

        public void setSpeed(Integer speed) {
            this.speed = speed;
        }

        // ... toString 方法
    }
}

Java Math.max()方法

作用:用於返回兩個引數中的最大值

語法

double max(double arg1, double arg2)
或
float max(float arg1, float arg2)
或
int max(int arg1, int arg2)
或
long max(long arg1, long arg2)

引數說明

arg1	一個 int 、 long 、 float 、 double 型別的數值
arg2	型別跟 arg1 一樣的數值

Java String contains()方法

contains()方法用於判斷字串中是否包含指定的字元或者是字串

語法:

public boolean contains(CharSquence chars)

  • chars —–表示要判斷的字元或者字串

示例:

public class Main {
    public static void main(String[] args) {
        String myStr = "Runoob";
        System.out.println(myStr.contains("Run"));
        System.out.println(myStr.contains("o"));
        System.out.println(myStr.contains("s"));
    }
}

Java charAt()方法

用於返回指定搜尋處的字元。索引範圍從 0 到 length() - 1

語法:

public char charAt(int index)    //index 指的是字元的索引

返回值: 返回指定索引處的字元

示例:

public class Test {
    public static void main(String args[]) {
        String s = "www.runoob.com";
        char result = s.charAt(6);
        System.out.println(result);
    }
}

integer的MIN_VALUE

  • 在JDK中,整型型別是有範圍的 -2147483648~2147483647 ( -2^31 --- 2^31-1)
  • 最大值為Integer.MAX_VALUE,即2147483647,最小值為Integer.MIN_VALUE -2147483648。
  • 對整形最大值加1,2147483648(越界了),那麼此時值為多少呢?結果是-2147483648,即是Integer.MIN_VALUE。
  • 類似的,對Integer.MIN_VALUE取反或者取絕對值呢?仍為Integer.MIN_VALUE,因為值為-2147483648,絕對值2147483648超過Integer.MAX_VALUE 2147483647。
Integer.MAX_VALUE + 1 = Integer.MIN_VALUE
//返回 Integer 值的絕對值。
Math.abs(Integer.MIN_VALUE) =  Integer.MIN_VALUE
Long,short,byte的結論是相同的。

  //這個語句的輸出結果:
 System.out.println(1<<31== Integer.MIN_VALUE);//true

文件參考[菜鳥教程]總結(https://www.runoob.com/)