java集合框架

本文深入探讨了数据结构的基本概念,包括线性表、栈、队列、二叉树、堆、排序、搜索和哈希表等。特别强调了Map的映射关系及其在通讯录中的应用,并详细解析了泛型的诞生背景、作用及类型擦除的过程。

1.数据结构

     线性表    list

     栈和队列   Queue/Stack/Deque

     二叉树

     堆   PriorityQueue

     排序   Arroys.sort |List.sort

     搜索  Set/Map

     搜索树

     哈希表******

Map的映射关系              通讯录

                                姓名                 映射                    关系

                               Key                                             Value

Key不允许重复                                 Value  允许重复

静态内部类                       

       定义在类的成员级别(member—leval) ,同时被static修饰的一种类

 最大的作用就是一个类从概念上应该属于另一个范围

使用上

      1.在LinkedList内部使用:和普通类没有区别

    Node   n=new Node();

       2.在LinkedList外部使用,指明所属关系

    LinkedList.Node n=new ListedList.Node();            

    解决办法 :

前提            

             1.Object类型是所有类型的祖先类型。

             2.向上转型是自然的。

class MyArrayList{
private object[]array;
private int size;
}

java  1.5都是这么去做的。

但上述办法有些许弊端

     

MyArrayList list=new MyArraylist();
list.add(new Person());
Person p=(Person)list.get(0);    1.//每次都得向下转型。
Book b=(Book)list.get(0);         编译时没问题,运行时会异常

    前提:问题发生在编译时期,影响远远小于在运行时期。

因此 ,泛型诞生了。

泛型:

   

     泛型作用在编译期间

MyArrayList<String>和MyArrayList<Person>和MyArrayList<Book>

运行期间就是一个MyArrayList,这个过程叫做类型擦除。

本质上被擦成Object类型的了。

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值