Java中的集合框架

  • 1.  与数组的对比——为何选择集合而不是数组
    (1)数组的长度固定,集合长度可变
    (2)数组只能通过下标访问元素,类型固定,而有的集合可以通过任意类型查找所映射的具体对象。
    集合框架
  • 2.Collection接口
    (1)是List、Set、Queue接口的父接口
    (2)定义了可用于操作List、Set和Queue的方法——增删改查
  • 3.List接口及其实现类——ArrayList
    (1)List是元素有序并且可以重复的集合,被称为序列
    (2)List可以精确的控制每个元素的插入位置,或删除某个位置元素
    (3)ArrayList——数组序列,是List的一个重要实现类
    (4)ArrayList底层是由数组实现的
    (5)常用方法:add()addAll()remove(int index)set(int index, E element) get()size()
    (6)注意事项:对象存入集合都变成Object类型,取出时需要类型转换。
    (7)数组转list:  Arrays.asList()
    (8)泛型
    集合中的元素,可以是任意类型的对象(确切的说:是“对象的引用”):如果把某个对象放入集合,则会忽略它的类型,而把它当做Object处理。
    泛型则是规定了某个集合只可以存放特定类型的对象:会在编译期间进行类型检查,可以直接按指定类型获取集合元素。
    泛型集合可以添加泛型对象实例,也可以添加泛型子类型的对象实例;泛型不能是基本类型(byte,short,int,long,float,double,boolean,char等),必须是引用类型(String类型不是基本类型,它实际上是被final修饰);如果要使用基本类型,泽需要通过使用其包装类(如:Integer,Float,Boolean等)实现。
  • Set接口及其实现类——HashSet
    (1)Set是元素无序并且不可以重复的结合,被称为“集”
    (2)HashSet——哈希集,是Set的一个重要实现类
    (3)Set中,添加某个对象,无论添加多少次,最终只会保留一个该对象(的引用)。并且,保留的是第一次添加的那个。
    (4)Set中可以添加null
  • Map接口及其实现类——HashMap
    (1)常用方法:put(K key, V value) remove(Object key) size()values()keySet() entrySet()
    (2)HashMap是Map的一个重要实现类,也是最常用的,基于哈希表实现;HashMap中的Entry对象是无序排列的;Key值和value值都可以为null,但是一个HashMap只能有一个key值为null的映射(key值不可重复)
    (3)通过keySet() entrySet() 来遍历Map中的数据。
  • Collections工具类
    (1)泛型为整数型包装类或者String类型,可以直接调用Collections.sort()方法进行比较。
    (2)泛型为其他类型的,需要自定义比较规则:<1>该泛型实现Comparable接口中的compareTo()方法,再调用Collections.sort(List<T> list);<2>重新定义比较规则,并实现Comparator接口中的compare()方法,再调用Collectins.sort(List<T> list, Comparator<? super T> c)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 集合框架主要分为两个部分:`java.util` 和 `java.util.concurrent`。其,`java.util` 包含了大部分的集合框架,而 `java.util.concurrent` 则包含了一些并发集合框架。 在 `java.util` 包集合框架主要分为两类:`Collection` 和 `Map`。`Collection` 接口表示一组对象,它是所有集合框架的基础接口,提供了对集合元素的基本操作,例如添加、删除、查找等。`Map` 接口则表示一组键值对,提供了根据键来查找值的操作。 在 `Collection` 接口下,Java 常用的集合框架包括: 1. `List`:有序列表,元素可以重复。常用的实现类有 `ArrayList`、`LinkedList` 和 `Vector`。 2. `Set`:无序集合,元素不可以重复。常用的实现类有 `HashSet`、`LinkedHashSet` 和 `TreeSet`。 3. `Queue`:队列,元素按照一定的顺序进行排列,常用的实现类有 `LinkedList` 和 `PriorityQueue`。 4. `Deque`:双端队列,可以在队列的两端进行插入和删除操作,常用的实现类有 `ArrayDeque` 和 `LinkedList`。 在 `Map` 接口下,Java 常用的集合框架包括: 1. `HashMap`:无序键值对集合,键不可以重复。 2. `LinkedHashMap`:有序键值对集合,键不可以重复。 3. `TreeMap`:有序键值对集合,键可以按照自然顺序进行排序。 4. `Hashtable`:与 `HashMap` 类似,但是是线程安全的,不推荐使用。 总之,Java 集合框架提供了丰富的数据结构和算法,可以大大简化程序的开发,提高程序的效率和可维护性。需要根据具体的需求来选择合适的集合框架和实现类。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值