广东省建设工程质量安全监督检测总站网站网站模板的使用
1.集合的好处
相比数组,他可以存储多种类型的元素,并且可以动态新增;


2. 集合分类


3.Collection接口
3.1常用方法

3.2迭代器-遍历
collection接口继承了Interable接口,collection的子类可以使用迭代器;

注意事项:

可以使用"itit"快速生成while()循环

3.3遍历方式2–for循环增强


快捷键大写的“I”可以直接快速生成一个增强版for循环
4.List接口

4.1 List常用方法
4.2List的三种遍历方式

4.4 程序:List排序练习

import java.util.Iterator;
import java.util.List;
import java.util.Vector;public class ListInterable_Exercise {public static void main(String[] args) {List list = new Vector();list.add(new Book3("《红楼梦》",25.2,"曹雪芹"));list.add(new Book3("《水浒传》",45.2,"施耐庵"));list.add(new Book3("《西游记》",23.2,"吴承恩"));System.out.println("===按价格排序前===");Iterator iterator = list.iterator();while (iterator.hasNext()) {Book3 book = (Book3) iterator.next();System.out.println(book);}sort(list);System.out.println("===按价格排序后===");iterator = list.iterator();while (iterator.hasNext()) {Book3 book = (Book3) iterator.next();System.out.println(book);}}public static void sort(List list){//实现数组元素的冒泡排序int listSize = list.size();for(int i=0;i<listSize-1;i++){for(int j=0;j<listSize-i-1;j++){Book3 bookJA = (Book3) list.get(j);Book3 bookJB = (Book3) list.get(j+1);if(bookJA.price>bookJB.price){list.set(j,bookJB);list.set(j+1,bookJA);}}}}}class Book3{String name;Double price;String author;public Book3(String name, Double price, String author) {this.name = name;this.price = price;this.author = author;}public Book3() {}@Overridepublic String toString() {return "Book3{" +"name='" + name + '\'' +", price=" + price +", author='" + author + '\'' +'}';}
}
5.ArrayList类

6.vector类

(1)ArrayList和vector的底层数组扩容机制对比

7. LinkList类


8.ArrayList和LinkList对比

9.Set接口

注:虽然添加的顺序和取出的顺序不一致,但取出的顺序只会有一个
9.1常用方法

10.Set接口实现类—HashSet类

(1)HashSet不能添加相同的元素

注意这里new 出来的两个内容是在堆中不同位置的;
11.程序:HashSet最佳实践

用重写equals() and hashCode()方法来实现



12.LinkedHashSet类—HashSet子类


13.Map接口
(1 )常用方法

(2)Map的六大遍历方式
14.HashMap类

15.HashTable类

16.集合
17.集合的练习
(1)
(2)


总注:集合这块儿如果只是应用没有很难,但是底层机制很复杂,难理解东西多
