偷dede网站模板长春疫情最新情况
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)
总注:集合这块儿如果只是应用没有很难,但是底层机制很复杂,难理解东西多