java集合

集合是Java提供的一种容器,可以用来存储多个数据

集合与数组的区别:数组长度固定不可变,集合长度可变,集合里面存的元素必须是引用数据类型

ArrayList集合例子

ArrayList<Person> list=new ArrayList<Person>();
        list.add(new Person("熊大",20));
        list.add(new Person("熊二",19));
        list.add(new Person("琪琪国王",30));
        //遍历
        for(int i=0;i<list.size();i++){
            System.out.println(list.get(i));
        }

这个地方添加的20是int类型,为什么还能加进去呢

原因是jdk1.5之后有了自动装箱的机制,会自动把int类型的元素转化为Integer类型

集合的继承实现关系

查询源代码,ArrayList继承了AbstractList类同时实现了List接口,List接口又继承了Collection

Collection是接口类的最顶层

public class ArrayList<E> extends AbstractList<E>
public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E>
public interface List<E> extends Collection<E>

Collection接口的常用方法

add()返回boolean值,确保此Collection包含指定的元素(可以选择某个元素)

clear()移除Collection中搜友的元素(可以选择某个元素)

contains()如果Collection中包含用户指定的元素,就返回true

size()返回Collection中的元素数量

toArray()返回包含ciCollection中所有元素的数组(把Collection集合转变为数组)

package com.oracle.demo01;

import java.util.ArrayList;
import java.util.Collection;

public class aaa {
    public static void main(String[] args) {
        //建立一个Collection集合
        Collection< String> aa=new ArrayList<String>();
        aa.add("aa");
        aa.add("bb");
        aa.add("cc");
        //remove移除cc
        System.out.println(aa.remove("cc"));
        //看看里面有没有bb
        System.out.println(aa.contains("bb"));
        //aa是Collection类的对象,没有get()方法,所以便利的时候
        //需要向下转型成ArrayList类对象
        ArrayList<String> arr=(ArrayList<String>)aa;
        for(int i=0;i<arr.size();i++){
            System.out.print(arr.get(i)+"..");
        }
        //clear方法
        aa.clear();
        for(int i=0;i<arr.size();i++){
            System.out.print(arr.get(i)+"..");
        }
    }
}

//转数组
        Object[] obj=aa.toArray();
        for(int i=0;i<obj.length;i++){
            System.out.print(obj[i]+"	");
        }

原文地址:https://www.cnblogs.com/mr171733/p/9757152.html