JAVA集合框架

Posted sonder

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA集合框架相关的知识,希望对你有一定的参考价值。

JAVA集合框架

Collection接口:存储一组不唯一、无序的对象

List接口存储一组不唯一、有序(插入顺序)的对象

Set接口存储一组唯一、无序的对象.

List

在示例中,首先创建了狗狗对象,并通过Set赋值。

//创建dog对象
        Dog dog1=new Dog();
        dog1.setName("小草1");
        dog1.setStrain("拉布拉多");
        Dog dog2=new Dog();
        dog2.setName("小花2");
        dog2.setStrain("泰迪");

然后通过List创建集合对象:

    List<Dog> list=new ArrayList<Dog>();
    list.add(dog1);
    list.add(dog2);

list.size()方法可以判断实际元素的个数,把值赋值给一个变量并输出:

int num=list.size();
System.out.println(num);

可以通过list.remove();移除数组中的元素,括号内可以是元素下标,也可以元素对象值。

输出集合中的元素的方式有3种,分别是:

1、通过for循环遍历输出集合中的元素

2、使用foreach,增强for循环输出集合中的元素

3、使用迭代器循环输出集合中的元素

首先是for循环:

        for (int i = 0; i < list.size(); i++) {
            //取出集合中的每一个元素
            Object object=list.get(i);
            //转化为真实的子类对象(Dog)
            if(object instanceof Dog){
            //强制类型转换
            Dog dog=(Dog)object;
            //输出狗的信息
            System.out.println(dog);
            }
        }

普通for循环遍历集合需要注意的是,在循环输出前,需要使用instanceof关键字转化为真实的子类对象,然后强制类型转换,输出狗的信息。

foreach循环

foreach循环总得来说比较方便,不可忽视的是仍然需要使用instanceof关键字进行判断。

        for (Object object : list) {
            if(object instanceof Dog){
            //强制类型转换
            Dog dog=(Dog)object;
            //输出狗的信息
            System.out.println(dog);
            }
        }

迭代器的使用:

使用Iterator,首先判断集合中是否有元素,进而得到集合中的每一个值。

        Iterator its=list.iterator();
        while (its.hasNext()) {
            Object obj = its.next();
            System.out.println(obj);
        }

程序最终的输出结果为:

狗的名字        狗的品种
小班3        哈士奇
小草1        拉布拉多

LinkedList集合操作

LinkedList list=new LinkedList();
        list.add(staff1);
        list.add(staff2);
list.addFirst(1000);//添加到列表的第一个位置
list.removeFirst();//移除第一个
list.removeLast();//移除最后一个
list.push("222");//增加元素
list.poll();//获取并移除第一个

ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高。

LinkedList的特殊方法:

void addFirst(Object o)    在列表的首部添加元素

void addLast(Object o)    在列表的末尾添加元素

Object getFirst()       返回列表中的第一个元素

Object getLast()       返回列表中的最后一个元素

Object removeFirst()     删除并返回列表中的第一个元素

Object removeLast()     删除并返回列表中的最后一个元素

ArrayList和LinkedList分别在何时使用?

ArrayList:

遍历元素和随机访问元素的效率比较高

插入、删除等操作频繁时性能低下

LinkedList

插入、删除元素时效率较高

查找效率较低

集合泛型的示例:

                //要求放入INT类型的数据  Integer
        List<Integer> list=new ArrayList<Integer>();    

valueOf方法,把数字转换成字符串

        list1.add(String.valueOf(1000));

泛型要求添加数据,必须是指定的数据类型。




以上是关于JAVA集合框架的主要内容,如果未能解决你的问题,请参考以下文章

java集合框架代码演示demo

java集合框架代码演示demo

Java 集合框架

代码片段 - Golang 实现集合操作

laravel特殊功能代码片段集合

Java集合框架