標籤:增強 而且 div size pac png remove 類對象 定義
小生快要準備找工作了 現在開始複習一下Java基礎之容器
Set和List是一個個往裡面存 Map是兩個兩個往裡面裝
所謂重複指的是他們互相equals
Collection 介面定義了存取一組對象的方法,其子介面Set和List分別定義了儲存方式
Set中的資料對象沒有順序並且不可以重複
List中的資料對象有順序並且可以重複
Map介面定義了健值對應對的儲存方法
1.Collection中的方法
例1.
package com.hw.Prepare;import java.util.*;public class test3 { public static void main(String[] args){ Collection a = new ArrayList(); a.add(new Integer(1)); a.add(new String("加油")); a.add(new String("1331")); System.out.println(a.size()); System.out.println(a); }}
運行結果
容器類對象在調用remove,contains等方法時會先比較對象是否相等,這將會涉及到物件類型的equals和hashcode方法,對於自訂的類型,需要重寫equals和hashcode方法以實現自訂對象的對象相等規則
例如 增加Name類相等的equals和hashcode的方法如下
hashcode經常作為索引,能方便地找到對象的位置 效率比較高
Iterator:
例子1:
例子二:
增強for迴圈
Set介面是collection的子介面,Set介面是collecion的子介面,set介面沒有提供額外的方法,但是實現set介面的容器類中的元素是沒有順序的,而且不可以重複。
set容器可以跟數學中的集合相對應
Hashset、TreeSet
retainall
求交集
ArrayList 數組 LinkList 鏈表
例子
java.util.collections
如何選擇資料結構
衡量標準:讀的效率和改的效率
Array讀快改慢
Linked改快讀慢
Hasn兩者之間
Map
不能重複指的是equals 用hashcode比較效率比較高
例子
jdk1.5可以自動打包 自動封裝為對象 或自動把對象轉為基礎類型
例子
例子
改成自動打包 解包
泛型:
例子2
例子
總結
Java複習 之容器