菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
466
0

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

原创
05/13 14:22
阅读数 67187

                      重难点梳理

 

 

 

 

 使用到的新单词:

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数组和集合的对比【记忆】

  • 相同点

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

  • 不同点

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

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

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

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));

       ArrayList<String> list1 = new ArrayList<>();
       list1.add("a");
       list1.add("b");
       list1.add("c");

       System.out.println(list1);

       //如果集合要存储基本数据类型,那么实际存储的是他们的包装类
       //ArrayList<int> list2 = new ArrayList<int>();
       ArrayList<Integer> list2 = new ArrayList<>();
       list2.add(1);//
       list2.add(2);
       list2.add(3);
       System.out.println(list2);
  }
}

1.2集合类体系结构【熟悉】

 

 

 

 

1.3Collection 常用方法【重点】

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) {
       Collection<String> 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(Collection<String> collection) {
       //       int size() 集合的长度,也就是集合中元素的个数
       int size = collection.size();
       System.out.println(size);
  }

   private static void method5(Collection<String> collection) {
       //       boolean isEmpty() 判断集合是否为空
       collection.clear();
       boolean result = collection.isEmpty();
       System.out.println(result);
  }

   private static void method4(Collection<String> 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(Collection<String> collection) {
       //       void clear() 清空集合
       //就是将集合中所有的元素全部删除.
       collection.clear();
       System.out.println(collection);
  }

   private static void method2(Collection<String> collection) {
       //       boolean removeif(Object o) 根据条件进行删除
       //removeif底层会遍历集合,得到集合中的每一个元素
       //s依次表示集合中的每一个元素
       //就会把这每一个元素都到lambda表达式中去判断一下
       //如果返回的是true,则删除
       //如果返回的是false,则保留不删除.


       //boolean test(String t);
       collection.removeIf(

发表评论

0/200
466 点赞
0 评论
收藏