16.01_集合框架(去除ArrayList中重复字符串元素方式)(掌握)

  • A:案例演示

    • 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同)

    • 思路:创建新集合方式

        /**
      * A:案例演示
      * 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同)
      * 思路:创建新集合方式
      */
      public static void main(String[] args) {
      ArrayList list = new ArrayList();
      list.add("a");
      list.add("a");
      list.add("b");
      list.add("b");
      list.add("b");
      list.add("c");
      list.add("c");
      list.add("c");
      list.add("c"); System.out.println(list);
      ArrayList newList = getSingle(list);
      System.out.println(newList);
      } /*
      * 去除重复
      * 1,返回ArrayList
      * 2,参数列表ArrayList
      */
      public static ArrayList getSingle(ArrayList list) {
      ArrayList newList = new ArrayList(); //创建一个新集合
      Iterator it = list.iterator(); //获取迭代器
      while(it.hasNext()) { //判断老集合中是否有元素
      String temp = (String)it.next(); //将每一个元素临时记录住
      if(!newList.contains(temp)) { //如果新集合中不包含该元素
      newList.add(temp); //将该元素添加到新集合中
      }
      }
      return newList; //将新集合返回
      }

16.02_集合框架(去除ArrayList中重复自定义对象元素)(掌握)

  • A:案例演示

    • 需求:ArrayList去除集合中自定义对象元素的重复值(对象的成员变量值相同)
  • B:注意事项
    • 重写equals()方法的

16.03_集合框架(LinkedList的特有功能)(掌握)

  • A:LinkedList类概述
  • B:LinkedList类特有功能
    • public void addFirst(E e)及addLast(E e)
    • public E getFirst()及getLast()
    • public E removeFirst()及public E removeLast()
    • public E get(int index);

16.04_集合框架(栈和队列数据结构)(掌握)

    • 先进后出
  • 队列
    • 先进先出

16.05_集合框架(用LinkedList模拟栈数据结构的集合并测试)(掌握)

  • A:案例演示

    • 需求:请用LinkedList模拟栈数据结构的集合,并测试
    • 创建一个类将Linked中的方法封装
    •   public class Stack {
      private LinkedList list = new LinkedList(); //创建LinkedList对象 public void in(Object obj) {
      list.addLast(obj); //封装addLast()方法
      } public Object out() {
      return list.removeLast(); //封装removeLast()方法
      } public boolean isEmpty() {
      return list.isEmpty(); //封装isEmpty()方法
      }
      }

16.06_集合框架(泛型概述和基本使用)(掌握)

  • A:泛型概述
  • B:泛型好处
    • 提高安全性(将运行期的错误转换到编译期)
    • 省去强转的麻烦
  • C:泛型基本使用
    • <>中放的必须是引用数据类型
  • D:泛型使用注意事项
    • 前后的泛型必须一致,或者后面的泛型可以省略不写(1.7的新特性菱形泛型)

16.07_集合框架(ArrayList存储字符串和自定义对象并遍历泛型版)(掌握)

  • A:案例演示

    • ArrayList存储字符串并遍历泛型版

16.08_集合框架(泛型的由来)(了解)

  • A:案例演示

    • 泛型的由来:通过Object转型问题引入
    • 早期的Object类型可以接收任意的对象类型,但是在实际的使用中,会有类型转换的问题。也就存在这隐患,所以Java提供了泛型来解决这个安全问题。

16.09_集合框架(泛型类的概述及使用)(了解)

  • A:泛型类概述

    • 把泛型定义在类上
  • B:定义格式
    • public class 类名<泛型类型1,…>
  • C:注意事项
    • 泛型类型必须是引用类型
  • D:案例演示
    • 泛型类的使用

16.10_集合框架(泛型方法的概述和使用)(了解)

  • A:泛型方法概述

    • 把泛型定义在方法上
  • B:定义格式
    • public <泛型类型> 返回类型 方法名(泛型类型 变量名)
  • C:案例演示
    • 泛型方法的使用

16.11_集合框架(泛型接口的概述和使用)(了解)

  • A:泛型接口概述

    • 把泛型定义在接口上
  • B:定义格式
    • public interface 接口名<泛型类型>
  • C:案例演示
    • 泛型接口的使用

16.12_集合框架(泛型高级之通配符)(了解)

  • A:泛型通配符<?>

    • 任意类型,如果没有明确,那么就是Object以及任意的Java类了
  • B:? extends E
    • 向下限定,E及其子类
  • C:? super E
    • 向上限定,E及其父类

16.13_集合框架(增强for的概述和使用)(掌握)

  • A:增强for概述

    • 简化数组和Collection集合的遍历
  • B:格式:
  •   for(元素数据类型 变量 : 数组或者Collection集合) {
    使用变量即可,该变量就是元素
    }
  • C:案例演示
    • 数组,集合存储元素用增强for遍历
  • D:好处
    • 简化遍历

16.14_集合框架(ArrayList存储字符串和自定义对象并遍历增强for版)(掌握)

  • A:案例演示

    • ArrayList存储字符串并遍历增强for版
    •   ArrayList<String> list = new ArrayList<>();
      list.add("a");
      list.add("b");
      list.add("c");
      list.add("d"); for(String s : list) {
      System.out.println(s);
      }

16.15_集合框架(三种迭代的能否删除)(掌握)

  • 普通for循环,可以删除,但是索引要--
  • 迭代器,可以删除,但是必须使用迭代器自身的remove方法,否则会出现并发修改异常
  • 增强for循环不能删除

16.16_集合框架(静态导入的概述和使用)(了解)

  • A:静态导入概述
  • B:格式:
    • import static 包名….类名.方法名;
    • 可以直接导入到方法的级别
  • C:注意事项
    • 方法必须是静态的,如果有多个同名的静态方法,容易不知道使用谁?

      这个时候要使用,必须加前缀。由此可见,意义不大,所以一般不用,但是要能看懂。

16.17_集合框架(可变参数的概述和使用)(掌握)

  • A:可变参数概述

    • 定义方法的时候不知道该定义多少个参数
  • B:格式
    • 修饰符 返回值类型 方法名(数据类型… 变量名){}
  • C:注意事项:
    • 这里的变量其实是一个数组
    • 如果一个方法有可变参数,并且有多个参数,那么,可变参数肯定是最后一个

16.18_集合框架(Arrays工具类的asList()方法的使用)(掌握)

  • A:案例演示

    • Arrays工具类的asList()方法的使用
    • Collection中toArray(T[] a)泛型版的集合转数组

16.19_集合框架(集合嵌套之ArrayList嵌套ArrayList)(掌握)

  • A:案例演示

    • 集合嵌套之ArrayList嵌套ArrayList

16.20_day16总结

  • 把今天的知识点总结一遍。

【Java基础】【16List集合】的更多相关文章

  1. java基础-Map集合

    java基础-Map集合 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Map集合概述 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它 ...

  2. 第6节:Java基础 - 三大集合(上)

    第6节:Java基础 - 三大集合(上) 本小节是Java基础篇章的第四小节,主要介绍Java中的常用集合知识点,涉及到的内容包括Java中的三大集合的引出,以及HashMap,Hashtable和C ...

  3. Java基础之 集合体系结构(Collection、List、ArrayList、LinkedList、Vector)

    Java基础之 集合体系结构详细笔记(Collection.List.ArrayList.LinkedList.Vector) 集合是JavaSE的重要组成部分,其与数据结构的知识密切相联,集合体系就 ...

  4. 备战金三银四!一线互联网公司java岗面试题整理:Java基础+多线程+集合+JVM合集!

    前言 回首来看2020年,真的是印象中过的最快的一年了,真的是时间过的飞快,还没反应过来年就夸完了,相信大家也已经开始上班了!俗话说新年新气象,马上就要到了一年之中最重要的金三银四,之前一直有粉丝要求 ...

  5. java基础技术集合面试【笔记】

    java基础技术集合面试[笔记] Hashmap: 基于哈希表的 Map 接口的实现,此实现提供所有可选的映射操作,并允许使用 null 值和 null 键(除了不同步和允许使用 null 之外,Ha ...

  6. Java基础--说集合框架

    版权所有,转载注明出处. 1,Java中,集合是什么?为什么会出现? 根据数学的定义,集合是一个元素或多个元素的构成,即集合一个装有元素的容器. Java中已经有数组这一装有元素的容器,为什么还要新建 ...

  7. JAVA基础学习-集合三-Map、HashMap,TreeMap与常用API

    森林森 一份耕耘,一份收获 博客园 首页 新随笔 联系 管理 订阅 随笔- 397  文章- 0  评论- 78  JAVA基础学习day16--集合三-Map.HashMap,TreeMap与常用A ...

  8. 《回炉重造 Java 基础》——集合(容器)

    整体框架 绿色代表接口/抽象类:蓝色代表类. 主要由两大接口组成,一个是「Collection」接口,另一个是「Map」接口. 前言 以前刚开始学习「集合」的时候,由于没有好好预习,也没有学好基础知识 ...

  9. java基础之集合长度可变的实现原理

    首先我们要明白java中的集合Collection,List,ArrayList之间的关系: ArrayList是具体的实现类,实现了List接口 List是接口,继承了Collection接口 Li ...

  10. JAVA基础整理-集合篇(一)

    集合作为JAVA的基础知识,本来感觉自己理解的很清楚了,但是在最近的一次面试中还是答得不尽如人意!再次做一下整理,以便加深理解以及随时查阅. 首先,java.util包中三个重要的接口及特点:List ...

随机推荐

  1. 阿里云消息队列(MQ)服务

    A.首先在阿里云上申请消息队列MQ服务: B.然后创建一个Topic(主题,一级主题):然后创建生产者与消费者: C.不过此时还没有结束 ,还需要创建一个AccessKey和AccessSecret( ...

  2. Java拦截器的实现原理

    对于某个类的A方法进行拦截,在A执行前插入一段代码,A执行后也插入一段代码 原理: 写个拦截器,拦截器中包含要插入前后执行的两段代码 interceptor { C();//C方法 D();//D方法 ...

  3. javascript 插入DOM节点

    1.使用appendChild,把一个子节点添加到父节点的最后一个子节点,.innerText插入的是内容 HTML <!-- HTML结构 --> <p id="js&q ...

  4. mysql import error

    mysql导入文件一直出错,显示ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option s ...

  5. IDEA使用Git传放项目

    使用Git下载项目到IDEA工具上开发 1. 下载Git 软件工具 https://git-scm.com/ 2. 下载安装 3.打开IDEA 配置Git 4. 搜索Git 在登入 5.选择自己Git ...

  6. ionic4 开发企业微信应用0

    作为一个后台开发人员,几年前参与过Ionic1开发过一微信公众号的经历,所以这次开发企业微信应用,就使用了ionic,正好ionic4 rc版本发布,虽然不是正式版,作为本项目的项目经理,还是决定使用 ...

  7. MORE XOR

    MORE XOR #include<bits/stdc++.h> using namespace std; ; int a[maxn]; ][maxn]; int main() { ios ...

  8. C语言复习4_while循环

    1.while循环 循环三要素: 1).循环变量的初值 2).循环变量的判断 3).循环变量的更新 #include <stdio.h> #include <stdlib.h> ...

  9. AWS EC2实例Linux系统创建root用户并更改为root用户登录

    对于刚创建AWS EC2实例,或者经常使用AWS 实例的小伙伴们来说,刚创建的EC2实例是没有ROOT权限的,因此不能直接使用ROOT用户去登陆实例,也无法获取到root权限.一般情况下,EC2实例默 ...

  10. 干货分享: 长达250页的Libvirt Qemu KVM的ppt,不实验无真相

    下载地址:Libvirt Qemu KVM 教程大全 http://files.cnblogs.com/popsuper1982/LibvirtQemuKVM.pptx 1. 概论 1.1 虚拟化的基 ...