java 快速查找 list_Java语法入门009

a5d68ddae5ab5a81b8f4ed67968e0981.png

今天是学习Java[1]第9天,继续摸鱼。

集合接口(重要)

  • Collection:最基本的集合接口,存储一组不唯一无序的对象
  • List:有序的collection,能通过索引(0开始)访问对象
  • Set:不保存重复元素的collection
  • SortedSet:有序的set
  • Map:存储一组key-value
  • Map.entry:描述在一个map中的一个key-value
  • SortedMap:按key升序的map
  • Enumeration:枚举对象集合中的元素(被迭代器取代)

Set和List对比:

  • Set存储的是无序的,不重复的
  • List存储的是有序的,可以重复的
  • Set查找效率低,删除和插入效率高,插入和删除不会改变已有的元素位置
  • List查找效率高,插入和删除效率低,插入和删除会改变已有的元素位置

集合具体类(重要)

  • AbstractCollection:实现大部分的集合接口
  • AbstractList:继承AbstractCollection,实现大部分的List接口
  • AbstractSequentialList:继承AbstractCollection,提供对数据元素的链式访问
  • LinkedList:实现List的接口,主要用来创建链表
  • ArrayList:实现List的接口,实现了可变大小的数组,随机访问和遍历元素时性能好
  • AbastractSet:继承AbstractCollection,实现大部分的List接口
  • HashSet:实现Set的接口,不允许出现重复的元素
  • LinkedHashSet:可预知迭代顺序的Set接口的哈希表和链表实现
  • TreeSet:实现Set的接口
  • AbstractMap:实现大部分的Map接口
  • HashMap:实现Map的接口
  • TreeMap:继承AbstractMap,使用一棵树
  • WeakHashMap:继承AbstractMap,使用弱密钥
  • LinkedHashMap:继承HashMap,使用元素的自然顺序对元素进行排序

IdentityHashMap:继承AbstractMap,比较文档时使用引用相等

dae0d09ec0586585df9ed3ccde0de898.png

泛型方法

假设有一个需求:不管传入啥,都能比较大小,int用int方法比较,tree用tree方法比较。

  • 泛型方法声明的【类型参数】(类似<E>
  • 【类型参数】可以包含多个参数,用逗号隔开
  • 【类型参数】可以作为返回类型

实例1:public static <E> void myPrint(E[] mydata)

25a9805723e71c00f3d281e2804d141b.png

实例2:public static <T extends Comparable<T>> T myMax(T a,T b)

79482346686594d37f474f379e1e2739.png

泛型类

  • 泛型类的声明和非泛型类的申明非常相似,只多了个【类型参数】(类似<E>

cbfb0ad6f8bf86f8d43053178d3e8263.png
  • 类型通配符的使用:public static void myprint(List<?> mydata)

33d8646a07f3dd45d5dc783ba3c53aca.png

参考

  1. ^Java入门教程 https://www.runoob.com/java/java-tutorial.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值