Collection集合重难点梳理,增强for注意事项和三种遍历的应用场景,栈和队列特点,数组和链表特点,ArrayList源码解析, LinkedList-源码解析

2021-03-09 05:30

阅读:471

标签:load   10个   focus   输出   day   lis   pre   对比   ide   

                      重难点梳理

 

技术图片

 

 

 

 使用到的新单词:

1.collection[k??lek?n]

聚集

2.empty[?empti]

空的

3.clear[kl??(r)]

清除

4.iterator

迭代器

学习目标:

1、能够了解Java集合的继承体系结构(Collection和Map接口的继承体系结构)

2、能够了解Collection集合特点以及使用

3、能够掌握List集合的特点以及使用

4、能够掌握ArrayList集合特点以及使用(特点,使用以及原理)

5、能够掌握常见数据结构的特点(栈,队列,数组,链表)

                      知识重点梳理

 

 技术图片

 

 

 

                      超详细讲义及源代码

==知识点==

  1. 集合概述

  2. Collection

  3. List

  4. 数据结构

  5. ArrayList

  6. LinkedList

1.Collection集合

1.1数组和集合的对比【记忆】(视频01)(6‘’)

  • 相同点

    都是容器,可以存储多个数据

  • 不同点

    • 数组的长度是不可变的,集合的长度是可变的

    • 数组可以存基本数据类型和引用数据类型

      集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类

package com.itheima.mycollectiondemo1;
?
import java.util.ArrayList;
import java.util.Arrays;
?
public class MyCollectonDemo1 {
   public static void main(String[] args) {
       //数组可以存储基本数据类型也可以存储引用数据类型
       int [] arr1 = {1,2,3};
       String [] arr2 = {"a","b","c"};
       System.out.println(Arrays.toString(arr1));
       System.out.println(Arrays.toString(arr2));
?
       ArrayListString> list1 = new ArrayList();
       list1.add("a");
       list1.add("b");
       list1.add("c");
?
       System.out.println(list1);
?
       //如果集合要存储基本数据类型,那么实际存储的是他们的包装类
       //ArrayList list2 = new ArrayList();
       ArrayListInteger> list2 = new ArrayList();
       list2.add(1);//
       list2.add(2);
       list2.add(3);
       System.out.println(list2);
  }
}

1.2集合类体系结构【熟悉】(视频02)(换双列) (3‘’)

技术图片

 

 

 

 

1.3Collection 常用方法【重点】(视频03) (13‘’)

1.什么是Collection集合(顶级接口和特点单列)

Collection是单列集合的顶级接口,它没有直接的具体实现类,有两个子接口List和Set

2.如何创建Collection集合对象(Collection和ArrayList的关系

  • 多态的方式

  • 具体的实现类ArrayList

3.Collection集合常用方法

方法名 说明
boolean add(E e) 添加元素
boolean remove(Object o) 从集合中移除指定的元素
boolean removeIf(Object o) 根据条件进行移除
void clear() 清空集合中的元素
boolean contains(Object o) 判断集合中是否存在指定的元素
boolean isEmpty() 判断集合是否为空
int size() 集合的长度,也就是集合中元素的个数
package com.itheima.mycollectiondemo1;
?
import java.util.ArrayList;
import java.util.Collection;
?
public class MyCollectonDemo2 {
   public static void main(String[] args) {
       CollectionString> collection = new ArrayList();
//       boolean add(E e) 添加元素
       collection.add("aaa");
       collection.add("bbb");
       collection.add("ccc");
       collection.add("dddd");
       //System.out.println(collection);
       //method1(collection);
       //method2(collection);
       //method3(collection);
       //method4(collection);
       //method5(collection);
       //method6(collection);
?
?
  }
?
   private static void method6(CollectionString> collection) {
       //       int size() 集合的长度,也就是集合中元素的个数
       int size = collection.size();
       System.out.println(size);
  }
?
   private static void method5(CollectionString> collection) {
       //       boolean isEmpty() 判断集合是否为空
       collection.clear();
       boolean result = collection.isEmpty();
       System.out.println(result);
  }
?
   private static void method4(CollectionString> collection) {
       //       boolean contains(Object o) 判断集合中是否存在指定的元素
       boolean result = collection.contains("a");
       System.out.println(result);
?
?
       boolean result2 = collection.contains("aaa");
       System.out.println(result2);
  }
?
   private static void method3(CollectionString> collection) {
       //       void clear() 清空集合
       //就是将集合中所有的元素全部删除.
       collection.clear();
       System.out.println(collection);
  }
?
   private static void method2(CollectionString> collection) {
       //       boolean removeif(Object o) 根据条件进行删除
       //removeif底层会遍历集合,得到集合中的每一个元素
       //s依次表示集合中的每一个元素
       //就会把这每一个元素都到lambda表达式中去判断一下
       //如果返回的是true,则删除
       //如果返回的是false,则保留不删除.
?
?
       //boolean test(String t);
       collection.removeIf(
              (String s)->{


评论


亲,登录后才可以留言!