Java學習筆記(2015.7.27~7.31)

來源:互聯網
上載者:User

標籤:java學習

Java學習筆記(2015.7.27~7.31)Java學習筆記(2015.7.27~7.31)

Java 課堂

  • Java學習筆記(2015.7.27~7.31)

    • 小技巧

    • 常用方法

    • 1、List另一個子類--LinkedList

    • 2、數組的常用方法

    • 3、排序

    • 1、二分法尋找

    • 2、數群組轉換為List

    • 3、可變參數Type ... param (瞭解)

    • 1、容器Collection

    • 2、自動拆裝箱(瞭解)

    • 3、JDK增強for迴圈(瞭解)

    • 4、泛型(掌握)

    • 5、iterator與for在迭代中的區別

    • 1、概念:儲存多個對象的對象。

    • 2、JDk為什麼提供容器

    • 3、API

    • 4、容器的功能

    • 5、Collection介面常用方法

    • 6、容器之間的操作(瞭解)

    • 7、List的特點

    • 8、Set的特點

    • 9、ArrayList的自動增加或減少元素的策略(瞭解)

    • 10、Map(瞭解)

    • 11、迭代

    • 1、整形

    • 2、數值的轉換

    • 3、程式的機構

    • 4、方法重寫的常見問題

    • Day16

    • Day18

    • Day19

    • 周末作業

Day16

(複習)

1、整形

資料的基本單位是bit(位)。

類型 bit Kb 範圍
byte 8位 1位元組 -128~127(2^8)
short 16位 2位元組 -32768~32767(2^16)
int 32位 4位元組 很大,略
long 64位 8位元組 灰常大,略
2、數值的轉換

char通過ASCII(英語發音/ski/)轉成int,應用較多。

3、程式的機構

順序
分支
迴圈

4、方法重寫的常見問題
  • Duplicate method study() in type Student class
    方法重複了

  • The constructor Student() is undefined
    構造方法 未定義

  • Constructor call must be the first statement in a constructor
    this()調用重載(Overload)構造方法必須在第一行

  • The static field Chinese.guoji should be  
    accessed in a static way
    靜態調用靜態

Day181、容器Collection1、概念:儲存多個對象的對象。2、JDk為什麼提供容器

幾乎所有程式員都需要的功能

3、API

應用程式介面 Application Programming Interface

4、容器的功能
  • 與數組相同

  • 自動增加或減小容器的長度

5、Collection介面常用方法
  • int size();

  • boolean isEmpty();

  • void clear();

  • boolean contains(Object element);要用到equals

  • boolean add(Object element);

  • boolean remove(Object element);

6、容器之間的操作(瞭解)
  • boolean cotainsAll(Collection c);

  • boolean addAdd(Collection c);

  • boolean removeAll(Collection c);

  • boolean retainAll(Collection c);求交集

7、List的特點
  • 按照儲存順序存放

  • 元素可以重複

8、Set的特點
  • 不按照儲存順序存放,按照自己的特定順序

  • HashSet內部元素排序按照HashCode值

  • 元素不可以洪福

9、ArrayList的自動增加或減少元素的策略(瞭解)

ArrayList的內部實現使用了數組,如果元素個數小於10,數組大小為10,如果大於10,則為原長度+原長度的一半

10、Map(瞭解)
  • 儲存索引值對形式的資料

  • 例如:學號和學生姓名

  • 儲存元素時,如果key相同,值會被覆蓋

  • key是唯一的,不允許重複

11、迭代
  • 每個容器都實現了Iterator介面

  • 僅有三個方法:

    • boolean hasNext();

    • Object next();

    • void remove();

  • 迭代程式碼片段:

Iterator itr = c.iterator();while(itr.hasNext()) {    itr.next();}
2、自動拆裝箱(瞭解)

AutoBoxing/AutoUnBoxing

基本類型 封裝類型
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
  • 字元封裝類判斷是否是數字或字母

boolean digit = Character.isDigit(‘4‘);System.out.println(digit);boolean letter = Character.isLetter(‘!‘);System.out.println(letter);
3、JDK增強for迴圈(瞭解)
for(Object str: list) {        System.out.println(str);}for(int i = 0; i<list.size();i++) {    String str = (String) list.get(i);        System.out.println(str);}
4、泛型(掌握)
  • 保證型別安全

  • 擷取資料時不需要類型強制轉換

List<String> list = new ArrayList<String>();list.add("aaa");list.add(12);//錯誤,類型不符
5、iterator與for在迭代中的區別
  • Iterator做迭代時,迭代的對象有且只有一次;

  • for則沒有這個開始,重複幾次都可以。

Day191、List另一個子類--LinkedList
  • 儲存效能

子類
ArrayList
LinkedList
  • 物理結構,ArrayList的底層是數組,LinkedList的底層是鏈表。

    • 數組:元素個數固定,空間連續

    • 鏈表:元素個數不固定,空間不連續

  • 功能角度:隊列(堆),棧,樹(瞭解)

    • 隊列:普通模式,先進先出(First in First out)

    • 棧:後進先出,***夾模式(Last in First Out)

    • 樹:有序二叉樹,在一個分支中,左邊的節點最小,右邊的節點最大。

    • push:壓入棧中

    • pop:講棧頂部的元素彈出(最後進來的推出去)

  • ArrayList為什麼有兩個remove方法?
    答:remove(object o)是Collection都有的,remove(int index)是子類新添加的,因為ArrayList是基於數組實現的,所以才有了下標。

2、數組的常用方法1、二分法尋找

前提:數組必須是有序的

Arrays.binarySearch(arrays,key)
2、數群組轉換為List
List asList = Arrays。asList(1,2,3,4,5);
3、可變參數Type ... param (瞭解)

可變參數是以數組的方式實現的,所以不能同時存在以數組作為形參的方法重寫。

3、排序

思路:

  • 使當前的類實現Comparable介面,增加可以與其他同類對象比較的能力

class Student implements Comparable<Student> {    private int id;        private String name;        public int compareTo(Student o) {            return this.id - o.id;        }}
  • 找其他具備比較能力的對象來比較
    1、建立一個類,實現Comparator介面,用來比較每兩個Student的大小,排序時傳入自訂的Comparator對象。

class StudentComparator implements Comparator<Student>{    public int compare(Student o1, Student o2) {                return o1.id - o2.id;        }}……Comparator<Student> comparator = new StudentComparator();Collections.sort(list,comparator);
周末作業小技巧

將字元轉為數字
例如將‘1‘轉為整形1

int a = Integer.valueOf(‘1‘+"")

這樣才能順利轉成1

常用方法
  • charAt() 字串的方法
    字串名.charAt(index) 將字串中的字元取出

  • Collections.frequency(Collection c, Object o)
    返回指定 collection 中等於指定對象的元素數。

Java學習筆記(2015.7.27~7.31)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.