zoukankan      html  css  js  c++  java
  • 自学JAVA-10:集合

    集合特点:元素类型可以不同、集合长度可变、空间不固定。

    java中对一些数据结构和算法进行了封装即集合。集合也是一种对象,用于存储、检索、操作和传输的对象。

    JCF(java Collection Framework)集合框架

    集合和数组的区别:
    ①数组创建后,长度不可改变,集合长度会随着元素增加,自动变长。
    ②数组的元素只能存放单一数据类型,集合中的元素可以存放不同类型。
    ③集合中只能存放对象的引用。而数组中,可以存放基本类型,也可以存放引用类型数据。
    ④集合的算法比数组更加丰富。

    集合的API结构:
    Collection是List和Set的父类接口,另外还有一个Map接口。
    List:线性,元素可以重复。
    Set:元素不可以重复。
    Map:键值对。一个元素可以存放两个对象,其中键值对不可以重复。

    遍历集合的方式:for循环方式、迭代器方式、for each方式(常用)

    标准的javaBean的规范:
    ①必须提供公有的无参构造方法。
    ②私有属性,通过get/set方法,对属性进行访问和修改。
    ③需要实现序列化接口。

    求长度:
    数组:length属性
    字符串:length()方法
    集合:size()方法

    List集合有三个常用的实现类:
    ①ArrayList:底层部分使用数组实现。遍历速度快,中间插入删除元素速度慢,线程不安全。
    ②Vextor:底层部分同样使用数组实现。线程安全的类。
    ③LinkedList:采用双向链表实现。元素的空间不连续,每个元素除了存放数据以外,还要存放上一个和下一个元素的地址,遍历速度慢,中间插入删除元素速度快。

    HashMap和HashTable的区别和联系:
    ①HashMap和HashTable都是Map接口的实现类,一个元素可以放两个对象。
    ②HashMap允许存放空键和空值,而HashTable不允许存放空键和空值。
    ③HashMap线程不安全,而HashTable线程安全。

  • 相关阅读:
    我最讨厌画图,这辈子我都不想再画图
    bzoj1218[HNOI2003]激光炸弹
    bzoj1196[HNOI2006]公路修建问题
    bzoj1588[HNOI2002]营业额统计
    bzoj2039[2009国家集训队]employ人员雇佣
    bzoj3874[Ahoi2014]宅男计划
    bzoj2282[Sdoi2011]消防
    bzoj1798[Ahoi2009]Seq 维护序列seq
    bzoj4003[JLOI2015]城池攻占
    bzoj2809[Apio2012]dispatching
  • 原文地址:https://www.cnblogs.com/LYL6868/p/8907076.html
Copyright © 2011-2022 走看看