集合框架
List接口下的集合特點: Set接口下的集合特點:
1.都是有序的 1.都是無序的 2.都有下標 2.沒有下標
3.都可以重復 3.不可重復(覆蓋)
List接口下的集合
1.ArrayList
ArrayList list = new ArrayList();//長度可加,但加了也是0
//集合的長度 size() 數組的長度 數組名.length 是一個屬性 字符串長度 名.length() 是一種方法
//集合的長度在初始化的時候為0,當添加第一個數據的時候,會給一個默認的長度10,當添加的數據超過了10個,長度(10轉換為2進制)會向右移動一位。長度也有一個最大值!
System.out.println(list.size()) //0
//添加,可以添加重復的數據,也可以添加null,且會占用長度
list.add(111);
list.add(22.2);
list.add(true);
list.add("aaa");
list.add('v');
list.add(null);
//按指定位置添加:list.add(index,添加的數據) 注意:index不能超出原集合的最大長度
list.add(2,333)
//通過下標來獲取集合中的每個值: list.get(下標)
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
//集合的刪除
//針對非int類型
list.remove("aaa");
System.out.println("==================" + list.size());
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
//刪除int類型的值,必須使用封裝類
list.remove(new Integer(111));
System.out.println("=======================" + list.size());
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
//集合的修改
//list.set(下標,新的值)
list.set(0, 222);
System.out.println("====================" + list.size());
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
//查找集合中的某個值indexOf,lastIndexOf 返回指定數據第一次被查找到在集合中的下標
//如果沒有找到返回-1
System.out.println(list.lastIndexOf("aaa"));
System.out.println(list.lastIndexOf(null));
//查找集合中是否有某個值,找到返回true,否則false
System.out.println(list.contains(null));
//判斷集合是否為空
System.out.println(list.isEmpty());
System.out.println(list.size());
//清空集合中所有的元素
list.clear();