Java集合的概念(Collection和Map接口及其子接口,包括其实现类)小总结

1、集合是什么?

 数组就是集合,集合不一定是数组;集合实际上就是一个容器,可容纳其他类型的数据。

2、集合为什么在开发中使用比较多?

集合就是一个容器,可以一次容纳多个对象,在实际开发中,假设连接数据库,数据库当中有10条记录,那么假设把这十条记录查询出来,在java程序中会将十条数据封装成十个对象,以对象形式梵高某一个集合当中,将集合传到前端,然后遍历集合,将数据展现出来。

3、集合不能直接存储基本数据类型,另外集合也不能直接存储java对象,集合当中存储的都是对象的内存地址(或者说存储的是引用)。

如list.add(100);//自动装箱integer

4、在java中每一个不同的集合,底层会对应不同的数据结构。往不同的集合中存储元素,等于将数据放到了不同的数据结构当中(数组、二叉树、链表、哈希表…)。

ArrayList:底层是数组

LinkedList:底层是双向链表

Vector:底层是数组,线程安全的,效率较低,使用较少。

HashSet:底层是HashMap,放到HashSet集合中的元素等于放到HashMap集合key部分了。

TreeSet:底层是TreeMap,放到TreeSet集合中的元素等于放到TreeMap集合key部分了。

HashMap:底层是哈希表

Hashtable:底层是哈希表,不过是线程安全的,效率较低,使用较少。

Properties:线程安全并且key和value只能存储字符串string。

TreeMap:底层是二叉树。TreeMap集合的key可以自动按照大小顺序排序。

5、Collection接口:

Collection接口是所有集合类的根接口,可以存储所有object的子类型。

例如:Collection a =new ArrayList(); //多态

常用方法就是和集合一样,什么增删啊,判空,获取集合长度啥的。

Map集合和Collection集合没有任何关系,Map集合是以key和value的这种键值对的方式存储元素。

Collection接口,包含list和set子接口,list接口通过LinkedList、ArrayList、Vector类实现,set接口通过HashSet和TreeSet类实现。

6、Map接口:

Map集合是以key和value的这种键值对的方式存储元素。给定一个键和一个值之后,你可以将该值存储在一个map对象,之后就可以通过键来访问对应的值。

Ex:

public static void main(String[] args) {

      Map m = new HashMap();

      m1.put("Zara", "8");

      m1.put("Mahnaz", "31");

      m1.put("Ayan", "12");

      m1.put("Daisy", "14");

      System.out.println();

      System.out.println(" Map Elements");

      System.out.print("\t" + m);

   }

输出:

Map Elements

        {Mahnaz=31, Ayan=12, Daisy=14, Zara=8}

Map接口可通过HashMap、Hashtable类实现,包含SortedMap子接口, SortedMap接口通过TreeMap类实现。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

健身版程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值