08.Java基础数据结构

目录介绍

  • 1.对象数组
  • 2.集合
    • 2.1 集合的由来
    • 2.2 数组和集合的区别
    • 2.3 集合继承体系图
    • 2.4 Collection功能概述
    • 2.5 集合的遍历
    • 2.6 迭代器的原理
  • 3.数据结构
    • 3.0 List集合如何选择合适的
    • 3.1 数据结构之数组和链表
    • 3.2 数据结构之栈和队列
  • 4.集合总结
    • 4.1 集合总结
1.对象数组
  • 1.1 绘制对象数组内存图
    • 需求:把三个学生的信息【姓名,年龄】存储到对象数组中
    • 绘制内场图如下所示: image
2.集合
  • 2.1 集合的由来

    • 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,Java就提供了集合类。
  • 2.2 数组和集合的区别

    • (1): 长度区别: 数组的长度是固定的而集合的长度是可变的
    • (2): 存储数据类型的区别: 数组可以存储基本数据类型 , 也可以存储引用数据类型; 而集合只能存储引用数据类型
    • (3): 内容区别: 数组只能存储同种数据类型的元素 ,集合可以存储不同类型的元素
  • 2.3 集合继承体系图 image

  • 2.4 Collection功能概述

  • a:添加功能

    • boolean add(Object obj):添加一个元素
    • boolean addAll(Collection c):添加一个集合的元素
  • b:删除功能

    • void clear():移除所有元素
    • boolean remove(Object o):移除一个元素
    • boolean removeAll(Collection c):移除一个集合的元素(是一个还是所有)
  • c:判断功能

    • boolean contains(Object o):判断集合中是否包含指定的元素
    • boolean containsAll(Collection c):判断集合中是否包含指定的集合元素(是一个还是所有)
    • boolean isEmpty():判断集合是否为空
  • d:获取功能

    • Iterator<E> iterator()(重点)
  • e:长度功能

    • int size():元素的个数
    • 面试题:数组有没有length()方法呢?字符串有没有length()方法呢?集合有没有length()方法呢?
  • f:交集功能

    • boolean retainAll(Collection c):两个集合都有的元素?思考元素去哪了,返回的boolean又是什么意思呢?
  • g:把集合转换为数组

    • Object[] toArray()
  • 2.5 集合的遍历

  • 2.5.1 迭代器遍历【用的较少】

public class CollectionDemo {
    public static void main(String[] args) {
        // Iterator iterator():     使用迭代器进行遍历(重点*********)
        // 创建Collection集合对象
        Collection col = new ArrayList() ;
        // 添加元素
        col.add("张三") ;
        col.add("李四") ;
        col.add("王五") ;
        col.add("赵六") ;
        // 使用迭代器对其进行遍历
        // 1. 获取迭代器对象
        Iterator it = col.iterator() ;   // 返回时实现了Iterator这个接口的子类对象
        // 2. 调用迭代器对象中的方法完成遍历
        // E next(): 获取元素的同时,将指针向后移动一位
        while(it.hasNext()) {
            System.out.println(it.next());
        }
    }
}
  • 2.5.2 集合转数组遍历
public class CollectionDemo {
    public static void main(String[] args) {
        // 1. 创建集合对象
        Collection col = new ArrayList() ;
        // 2. 添加元素
        col.add("鸣人") ;
        col.add("佐助") ;
        col.add("佩恩") ;
        // 3. 把集合转换成数组
        // Object[] toArray()
        Object[] objs = col.toArray() ;
        // 4. 遍历数组
        for(int x = 0 ; x < objs.length ; x++) {
            // 向下转型
            String s = (String)objs[x] ;
            System.out.println(s.length());
        }
    }
}
  • 2.6 迭代器的原理 image
3.数据结构
  • 3.0 List集合如何选择合适的 image

  • 3.1 数据结构之数组和链表 image

  • 3.2 数据结构之栈和队列 image

4.集合总结
  • 4.1 集合总结 image

转载于:https://my.oschina.net/zbj1618/blog/1803193

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值