【Java】【集合】collection介面常見方法、集合轉陣列toArray()、帶ALL的方法
Collection介面是集合體系不斷向上抽取共性內容而來的。
其下有兩個子介面:List(列表),Set(集)。
Collection
|--List:元素是有序的,元素可以重複。因為該集合體繫有索引。
|--Set:元素是無序的,元素不可以重複。
一、collection介面常見方法
- boolean add(E e)
- boolean remove(Object o)
- void clear()
- boolean contains(Object o)
- boolean isEmpty()
- int size()
1、boolean add()方法:新增
傳入任意物件,返回布林值
- 如果是List集合一直都返回true,因為List集合中是可以儲存重複元素的
- 如果是Set集合當儲存重複元素的時候,就會返回false
- ArrayList的父類的父類重寫toString方法,所以在列印物件的引用的時候,輸出的結果不是Object類中toString的結果
Collection c = new ArrayList(); //父類引用指向子類物件
boolean b1 = c.add("abc");
boolean b2 = c.add(true); //自動裝箱new Boolean(true);
boolean b3 = c.add(100);
boolean b4 = c.add(new Student("張三",23));
boolean b5 = c.add("abc");
System.out.println(b1); //true,Lisy
System.out.println(b2); //true,Lisy
System.out.println(b3); //true,Lisy
System.out.println(b4); //true,Lisy
System.out.println(b5); //true,Lisy
System.out.println(c.toString()); [abc,true,100,Student [name = 張三, age =23],abc] //重寫toString方法
2、boolean remove(Object o):刪除指定元素3、void clear():清空集合
4、boolean contains(Object o):判斷是否包含
5、boolean isEmpty():判斷集合是否為空
6、int size():獲取集合中元素的個數
Collection c = new ArrayList();
c.add("a");
c.add("b");
c.add("c");
c.add("d");
//c.remove("b"); //刪除指定元素
//c.clear(); //清空集合
//System.out.println(c.contains("b")); //判斷是否包含
//System.out.println(c.isEmpty());
System.out.println(c.size()); //獲取元素的個數
System.out.println(c);
二、集合的遍歷之集合轉陣列遍歷
- 集合的遍歷:其實就是一次湖區集合中的每一個元素
- 把集合轉成陣列,可以實現集合的遍歷
- Object[] toArray():用物件陣列來接收
Collection c = new ArrayList();
c.add("a");
c.add("b");
c.add("c");
c.add("d");
Object[] arr = c.toArray(); //將集合轉換成陣列
for(int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
Collection c = new ArrayList();
c.add(new Student("張三", 23)); //Object obj = new Student("張三",23);父類引用子類物件,向上提升為Object
c.add(new Student("李四", 24));
c.add(new Student("王五", 25));
c.add(new Student("趙六", 26));
Object[] arr = c.toArray(); //將集合轉換成陣列
for (int i = 0; i < arr.length; i++) {
//System.out.println(arr[i]); //不能直接使用getName()方法,因為父類中沒有該方法,子類使用的時候需要對物件進行向下轉型才能使用。
Student s = (Student)arr[i]; //向下轉型
System.out.println(s.getName() + "..." + s.getAge());
}
三、collection集合的帶AlL功能測試
- boolean addAll(Collection c)
booleanremoveAll(Collection c)
boolean containsAll(Collection c)
booleanretainAll(Collection c)
1、boolean addAll(Collection c):新增的是一個集合
Collection c1 = new ArrayList();
c1.add("a");
c1.add("b");
c1.add("c");
c1.add("d");
Collection c2 = new ArrayList(); //alt + shift + r改名
c2.add("a");
c2.add("b");
c2.add("c");
c2.add("d");
//c1.addAll(c2); //[a,b,c,d,a,b,c,d] 將c2中的每一個元素新增到c1中
c1.add(c2); //[a,b,c,d[a,b,c,d]] 將c2看成一個物件新增到c1中
System.out.println(c1);
2、boolean removeAll(Collection c):刪除兩個集合中的交集
Collection c1 = new ArrayList();
c1.add("a");
c1.add("b");
c1.add("c");
c1.add("d");
Collection c2 = new ArrayList();
c2.add("a");
c2.add("b");
c2.add("z");
boolean b = c1.removeAll(c2);
System.out.println(b); //若交集不為空,則返回ture,刪除交集;若交集為空,返回false刪除失敗
System.out.println(c1);
3、boolean containsAll(Collection c):判斷呼叫的集合是否包含傳入的集合
Collection c1 = new ArrayList();
c1.add("a");
c1.add("b");
c1.add("c");
c1.add("d");
Collection c2 = new ArrayList();
c2.add("a");
c2.add("b");
c2.add("z");
boolean b = c1.containsAll(c2); //重複無所謂b,若有不重複z的則不包含返回false。
System.out.println(b);
}
4、boolean retainAll(Collection c):取兩個集合的交集,取完賦值給呼叫集合,呼叫集合c1改變就返回true,不改變返回falseCollection c1 = new ArrayList();
c1.add("a");
c1.add("b");
c1.add("c");
c1.add("d");
Collection c2 = new ArrayList();
c2.add("a");
c2.add("b");
c2.add("c");
c2.add("d");
c2.add("e");
c2.add("f");
//取交集,如果呼叫的集合改變就返回true,如果呼叫的集合不變就返回false
boolean b = c1.retainAll(c2); //取交集,並賦值給C1
System.out.println(b);
System.out.println(c1);
相關文章
- 【Java集合】單列集合Collection常用方法詳解Java
- Collection集合、List集合及其方法
- js陣列方法集合JS陣列
- java.util.Collection集合方法:Collections.BinarySearch 方法Java
- Java Collection介面 ArrayList集合(容器)Java
- JavaScript 陣列方法集合及示例!JavaScript陣列
- Java集合-CollectionJava
- Java 集合與陣列互相轉換Java陣列
- 【java】【集合】陣列和集合的基本概述Java陣列
- Rust中將陣列轉為集合型別的簡單方法Rust陣列型別
- 通過Arrays.asList方法將陣列轉成集合後,能否修改集合個數?陣列
- 【JAVA集合】JAVA集合框架及其常用方法Java框架
- Java 的 Collection 與 List 集合Java
- Java:Collection集合、泛型Java泛型
- 陣列轉換成List集合陣列
- Java之常見異常 整理集合Java
- java集合中的常見考點Java
- Java:List集合&Integer物件&int[]陣列相互轉化Java物件陣列
- Java集合中的排序方法Java排序
- Java Collection集合面試題Java面試題
- ES5新增陣列的常見方法陣列
- js陣列常見的一些方法JS陣列
- Java遍歷Map集合的方法Java
- 【Java基礎知識】Java陣列與集合Java陣列
- Collection集合的遍歷
- JAVA集合:常見Set原始碼學習Java原始碼
- Swift - 陣列、字典、集合Swift陣列
- Java集合 HashSet的原理及常用方法Java
- Android基礎之Java集合框架CollectionAndroidJava框架
- JAVA集合——Map介面Java
- 集合常見的面試題面試題
- Java常見知識點彙總(⑦)——集合框架Java框架
- SpringMVC(三)處理器方法形參繫結(繫結陣列、集合)、異常處理器、controller方法返回值SpringMVC陣列Controller
- JAVA集合框架 - Map介面Java框架
- 泛型方法、初始集合和集合的遍歷泛型
- 十五個常用的 Laravel 集合(Collection)Laravel
- 15個常用的Laravel 集合(Collection)Laravel
- JavaScript常見演算法集合JavaScript演算法