Java 集合 Collection

哈希深渊
• 阅读 271

** Java集合  Collection    

**为什么使用集合:

变量只能存一个数据,数组可以存储很多数据,但是长度固定。而集合可以自动扩容。

集合和数组的对比有哪些不同:

1,数组能储存基本和引用类型.而集合只能储存引用类型.
2,数组长度是固定的,而集合是可以自动扩张的.
3.集合底层有很多复杂的数据结构,但是效率上不如数组.

Collection 功能 常用方法

[AppleScript]纯文本查看__复制代码

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

import java.util.ArrayList;

import java.util.Collection;

public class TestCollection {

public static void main`(String[] args) {`

/`/`泛型限制输出类型

Collection`<String>/字符串类型里面写是类型只能执行什么类型/` `c` `=` `new` `ArrayList<>();`

/`/`数据添加

c.`add("大力娃");`

c.`add("千里眼顺风耳");`

c.`add("铜头铁臂");`

c.`add("火娃");`

c.`add("水娃");`

c.`add("隐身");`

c.`add("葫芦娃");`

/`/`打印

System.out.println`(c)`;

/`/`判断集合是否为空

System.out.println`(c.isEmpty())`;

/`/`打印集合储存元素的个数

System.out.println`(c.size())`;

/`/`删除指定对象

c.`remove("葫芦娃");`

System.out.println`(c)`;

/`/`清空所有元素

c.clear`();`

System.out.println`(c)`;

}

}

java.lang.Object类: 根类, 所有类的父类
        // 成员方法
        String?toString() :返回该对象的字符串表示
        boolean?equals(Object?obj) :指示其他某个对象是否与此对象"相等"

java.util.Objects类: JDK7 添加. 操作对象的工具类, 提供了空指针安全的方法
        // 静态方法
        static boolean equals(Object a, Object b): 比较两个对象是否相等
                如果2个参数都是null, 返回true
                如果其中一个为null, 返回false
                如果2个参数都不为null, 则使用第1个参数对象的equals()方法来比较

java.util.Date类: 日期, 表示特定的瞬间, 精确到"毫秒"
        // 构造方法
        Date(): 创建Date对象, 表示当前系统时间
        Date(long date): 创建Date对象, 使用指定的毫秒值作为时间
        // 常用成员方法
        long getTime(): 获取Date对象中保存的时间毫秒值
        void setTime(long time): 修改Date对象的时间

java.text.DateFormat抽象类: 用于格式化和解析时间. 提供了方便的方法
        // 常用成员方法 (抽象类不能创建对象, 但可以有非抽象的方法供子类使用)
        String format(Date date): 格式化, 从Date对象转换为String对象
        Date parse(String source): 解析, 从String对象转换为Date对象

java.text.SimpleDateFormat类
        // 构造方法
        SimpleDateFormat(String pattern): 用给定的模式和默认语言环境的日期格式符号创建对象
                // 常用模式: 可在SimpleDateFormat类中查看
                y: 年
                M: 月
                d: 日
                H: 时 (24小时制)
                m: 分
                s: 秒

                E: 星期
                D: 年中的天
                K: 小时(12小时制)
                S: 毫秒

java.util.Calendar抽象类: 代表日历, 提供了不同国家的历法, 封装了很多时间属性
        // 静态方法
        static Calendar getInstance(): 根据当前系统设置获取合适的Calendar对象, 表示当前系统时间
        // 静态成员变量
        static int YEAR         :年份
        static int MONTH        :月份. 注意月份数值是 0-11
        static int DAY_OF_MONTH :日期
        static int HOUR         :小时(12小时制)
        static int HOUR_OF_DAY  :小时(24小时制)
        static int MINITE       :分钟
        static int SECOND       :秒
        // 非静态成员方法
        int get(int field): 获取指定日历字段的值
        void set(int field, int value): 修改指定日历字段为指定的值
        void add(int field, int amount): 调整指定日历字段的值. 正数增加, 负数减少
        Date getTime(): Calendar转Date
        void setTime(Date d): Date转Calendar

java.lang.System类: 系统相关功能
        // 静态方法
        static long currentTimeMillis(): 返回当前系统时间的毫秒值
        static void arrayCopy(Object src, int srcPos, Object dest, int destPos, int length): 复制源数组中指定长度个元素到一个新数组中
        * Object src: 源数组 (被复制的数组)
        * int srcPos: 源数组索引 (从源数组的哪个索引开始复制)
        * Object dest: 目标数组 (要复制到哪个数组)
        * int destPos: 目标数组索引 (指定目标数组接收元素的索引位置)
        * int length: 长度 (要复制的元素个数)

java.lang.StringBuilder类: 可变字符序列, 可以高效拼接字符串. 底层使用数组保存
        // 构造方法
        StringBuilder(): 构造一个空的StringBuilder容器
        StringBuilder(String?str): String转StringBuilder
        // 常用方法
        StringBuilder?append(任意类型): 添加任意类型数据的字符串形式, 并返回当前对象
        String?toString(): 将当前StringBuilder对象转换为String对象

基本类型转为String: 拼接空字符串
        "" + 34
        true + ""

String转基本类型: 利用包装类的静态方法
    static?byte?parseByte(String?s): 将字符串参数转换为对应的byte基本类型
    static?short?parseShort(String?s): 将字符串参数转换为对应的short基本类型
    static?int?parseInt(String?s): 将字符串参数转换为对应的int基本类型
    static?long?parseLong(String?s): 将字符串参数转换为对应的long基本类型
    static?float?parseFloat(String?s): 将字符串参数转换为对应的float基本类型
    static?double?parseDouble(String?s): 将字符串参数转换为对应的double基本类型
    static?boolean?parseBoolean(String?s): 将字符串参数转换为对应的boolean基本类型
java.util.Collection接口:
        // 成员方法(子类都会实现)
        boolean?add(E?e): 把给定的对象添加到当前集合中
        void?clear(): 清空集合中所有的元素
        boolean?remove(E?e): 把给定的对象在当前集合中删除
        boolean?contains(E?e): 判断当前集合中是否包含给定的对象
        boolean?isEmpty(): 判断当前集合是否为空(没有元素)
        int?size(): 返回集合中元素的个数
        Object[]?toArray(): 把集合中的元素,存储到数组中
增强for, 普通for, 迭代器的区别:
        增强for:
                优点: 获取元素很方便, 格式简单
                缺点: 没有普通for中的索引, 没有迭代器对象可以进行元素的增删
                应用场景: 适用于遍历获取数组和集合元素的场景
        普通for:
                优点: 有索引可以使用, 某些方式可以在遍历过程中增删元素
                缺点: 格式繁琐
                应用场景: 需要用到索引的场景
        迭代器:
                优点: 可以使用迭代器对象的方法操作元素
                缺点: 格式繁琐
                应用场景: 需要在迭代过程中增删元素的场景

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
4年前
java基础(7)集合与泛型
第一部分:Collection集合1collection集合概述集合按照其存储结构可以分为两大类,分别是单列集合java.util.Collection和双列集合java.util.Map。Collection是所有单列集合的父接口,因此在Collection中定义了
Wesley13 Wesley13
4年前
java几个类的简单使用
RandomRandom类用来创建一个新的随机数生成器。对象数组ArrayList集合的长度是可以随意改变的。ArrayList<E这个<E代表泛型泛型:装在集合当中的所有元素,全部都是统一的类型。泛型只能是引用类型,不能使用基本元素。importjava.util.ArrayList;
Wesley13 Wesley13
4年前
java ArrayList集合
ArrayList集合是程序中最常见的一种集合,它属于引用数据类型(类)。在ArrayList内部封装了一个长度可变的数组,当存入的元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来存储这些元素,因此可以将ArrayList集合看作一个长度可变的数组。集合的创建格式导包:importjava.util.ArrayList;
Wesley13 Wesley13
4年前
java基础
JAVA集合在处理数据的过程中经常会需要一个容器来存储某一类型的数据,Java中的数组就是这样一种容器。但Java中的数组有其局限性,定义后的数组长度不可变,超出数组长度后就不能再存放数据了。而很多时候我们并不知道数据到底有多少,所以就需要有不定长的容器来存放数据,这就是集合,Java中的集合都采用了泛型实现,可以存入任何类型的对象数据
Wesley13 Wesley13
4年前
java集合框架
一、为什么要使用集合单个数据,可以用变量保存;多个数据,可以用数组保存;但是对于存储多个数据且数量不确定的情况,使用集合;二、集合和数组的区别(1)数组:1、只能保存同一种类型的数据;2、数组一旦创建,容量不可改变;3、数组可以保存引用类型的数据和基本类型的数据;(2)集合:1、可以保存不同类型的数据;2
Wesley13 Wesley13
4年前
Java中Map,List与Set的区别
首先,数组和集合的区别:数组是大小固定的集合可以存储和操作数目不固定的一组数据,集合只能存放引用类型的的数据,不能存放基本数据类型特性List允许重复有序继承自ConnectionSet不允许重复无序继承自Connection
Wesley13 Wesley13
4年前
Java 集合类
为什么使用集合数组长度是固定,如果要改变数组的长度需要创建新的数组将旧数组里面的元素拷贝过去,使用起来不方便。java给开发者提供了一些集合类,能够存储任意长度的对象,长度可以随着元素的增加而增加,随着元素的减少而减少,使用起来方便一些。数组和集合的区别区别1:数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类
Wesley13 Wesley13
4年前
Java最常见的面试题:模块二
容器18\.java容器都有哪些?常用容器的图录:19\.Collection和Collections有什么区别?java.util.Collection是一个集合接口(集合类的一个顶级接口)。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java类库
Wesley13 Wesley13
4年前
.Net转Java自学之路—基础巩固篇十三(集合)
集合:集合是用于存储对象的一个工具。  集合与数组的特点    相同点:都是一个容器    不同点:      集合:可以存储对象,只能存储对象,集合长度可变。      数组:可以存储对象,也可以存储基本数据类型,数组长度固定。  容器对象有很多种,通过内部的数据结构来区分,数据结构就是一种数据存储方式。  在不断
Stella981 Stella981
4年前
Map、Set、List集合差别及联系详解
前言:数组Array和集合的区别:1、数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型)2、JAVA集合可以存储和操作数目不固定的一组数据。3、若程序时不知道究竟需要多少对象,需要在空间不足时自动扩增容量,则需要使用容器类库,array不适用。 注:使用相应的toArray()和Arrays.asList()方法
Wesley13 Wesley13
4年前
Java集合笔记
1.1集合概述在前面基础班我们已经学习过并使用过集合ArrayList<E,那么集合到底是什么呢?集合:集合是java中提供的一种容器,可以用来存储多个数据。集合和数组既然都是容器,它们有啥区别呢?数组的长度是固定的。集合的长度是可变的。数组中存储的是同一类型的元素,可以存储基本数据类
哈希深渊
哈希深渊
Lv1
墙里秋千墙外道。墙外行人,墙里佳人笑。笑渐不闻声渐悄,多情却被无情恼。
文章
4
粉丝
0
获赞
0