**
Collection、Iterator、泛型、数据结构
能够说出集合与数组的区别
数组:
1.是引用数据类型的一种,可以存储多个元素
2.数组的长度是固定的 int[] arr1 = new int[10]; int[] arr2 = {
1,2,3};
3.数组即可以存储基本类型的数据,又可以存储引用数据类型的数据
int[],double[],String[],Student[]
集合:
1.是引用数据类型的一种,可以存储多个元素
2.集合的长度是可以变化的(可以往集合中添加元素,删除集合中的元素)
3.只能存储引用数据类型的数据
ArrayList<int> 错误 ArrayList<Integer> ArrayList<Student>
能够使用Collection集合的常用功能(重点)
public boolean add(E e) : 把给定的对象添加到当前集合中 。
public boolean remove(E e) : 把给定的对象在当前集合中删除。
public boolean contains(Object obj) : 判断当前集合中是否包含给定的对象。
public boolean isEmpty() : 判断当前集合是否为空。
public int size() : 返回集合中元素的个数。
public Object[] toArray() : 把集合中的元素,存储到数组中
public void clear() :清空集合中所有的元素。
能够使用迭代器对集合进行取元素(重点)
//创建集合对象
Collection<String> coll = new ArrayList<>();
coll.add("西施");
coll.add("貂蝉");
coll.add("王昭君");
coll.add("杨贵妃");
//1.使用Collection接口中的方法iterator获取迭代器的实现类对象
Iterator<String> it = coll.iterator();
//2.使用迭代器Iterator中的方法hasNext判断集合中是否还有元素
while (it.hasNext()){
//3.集合中有元素,使用迭代器Iterator中的方法next取出元素
String s = it.next();
System.out.println(s);
}
能够使用增强for循环遍历集合和数组(重点)
for(集合|数组中元素的数据类型 变量名: 集合|数组){
sout(变量名);
}
int[] arr = {
1,2,3};
for(int i : arr){
sout(i);
}
ArrayList<String> list = new ArrayList<>();
list.add("a");
list.add("b");
for(String s : list){
sout(s);
}
能够理解泛型上下限
泛型的上限限定: ? extends E ==>传递的未知类型?只能是E的子类或者本身
泛型的下限限定: ? super E ==>传递的未知类型?只能是E的父类或者本身
能够阐述泛型通配符的作用
泛型的通配符: ? 可以接收任意的数据类型
能够说出常见的数据结构
栈,队列,数组,链表,红黑树
能够说出数组结构特点
查询快,增删慢
能够说出栈结构特点
先进后出
能够说出队列结构特点
先进先出
能够说出单向(双向)链表结构特点
查询慢,增删快
单向:是一个无序
双向:是一个有序
第一章 Collection集合
1.集合和数组的区别
数组:
1.是引用数据类型的一种,可以存储多个元素
2.数组的长度是固定的 int[] arr1 = new int[10]; int[] arr2 = {1,2,3};
3.数组即可以存储基本数据类型的数据,又可以存储引用数据类型的数据 int[] double[] String[] Student[]
集合:
1.是引用数据类型的一种,可以存储多个元素
2.集合的长度是可以变化的(添加元素,删除集合中的元素)
3.集合只能存储引用数据类型的数据
ArrayList<int> 错误 ArrayList<Integer> ArrayList<Student> ArrayList<String>正确
2.集合常用类的继承体系
3.Collection常用功能(重点)
package com.itheima.demo01Collection;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.LinkedList;
/*
Collection常用功能(重点)
public boolean add(E e) : 把给定的对象添加到当前集合中 。
public boolean remove(E e) : 把给定的对象在当前集合中删除。
public boolean contains(Object obj) : 判断当前集合中是否包含给定的对象。
public boolean isEmpty() : 判断当前集合是否为空。
public int size() : 返回集合中元素的个数。
public Object[] toArray() : 把集合中的元素,存储到数组中
public void clear() :清空集合中所有的元素。
*/
public class Demo01Collection {
public static void main(String[] args) {
//1.使用多态的方式创建集合对象 接口 = 实现类对象 父类=子类对象
Collection<String> coll = new ArrayList<>();
//Collection<String> coll = new LinkedList<>();
//Collection<String> coll = new HashSet<>();
System.out.println(coll.isEmpty());//true
/*
public boolean add(E e) :往集合的末尾追加元素
返回值:boolean
添加成功,返回true
添加失败,返回false
*/
boolean b1 = coll.add("张三");
System.out.println("b1:"+b1);
coll.add("李四");
coll.add("张三");
coll.add("王五");
coll.add("赵六");
coll.add("田七");
System.out.println(coll);//[张三, 李四, 张三, 王五, 赵六, 田七]
/*
public boolean remove(E e) 移除集合中指定的元素
返回值:boolean
集合中有指定元素,移除成功,返回true
集合中没有指定的元素,移除失败,返回false
注意:
集合中有重复的元素,只移除第一个
*/
boolean b2 = coll.remove("张三");
System.out.println("b2:"+b2);//b2:true
System.out.println(coll);//[李四, 张三, 王五, 赵六, 田七]
boolean b3 = coll.remove("赵四");
System.out.println("b3:"+b3);//b3:false
System.out.println(coll);//[李四, 张三, 王五, 赵六, 田七]
/*
contains:包含
public boolean contains(Object obj) : 判断当前集合中是否包含给定的对象。
返回值:boolean
集合中有指定元素,返回true
集合中没有指定的元素,返回false
*/
boolean b4 = coll.contains("田七");
System.out.println("b4:"+b4);//b4:true
boolean b5 = coll.contains("胡歌");
System.out.println("b5:"+b5);//b5:false
/*
Empty:空的
public boolean isEmpty() : 判断当前集合是否为空。
返回值:boolean
集合是空的,里边没有元素,返回true
集合不是空的,里边有元素,返回false
*/
boolean b6 = coll.isEmpty();