Java集合

Posted dmndxld

tags:

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

集合

概述

集合与数组类似,也是一种引用类型,也可以存放很多个数据。但是数组的长度不可改变,而集合的长度是可变的,所以使用更加方便。

集合有很多种,现阶段我们学习最为简单的java.util.ArrayList集合。

构造方法

创建一个ArrayList,最常用的就是默认无参数的构造方法:

public ArrayList()

创建集合的时候要注意尖括号中要指定泛型,也就是里面存放的都是统一的什么数据类型。注意,泛型只能是引用类型,不能是基本类型。

public class Demo01ArrayList 
    
    public static void main(String[] args) 
        // 创建一个集合,存放的全都是String字符串类型的数据
        ArrayList<String> list1 = new ArrayList<>();
        
        // 泛型只能写引用类型,不能写基本类型,下面是错误写法!
//        ArrayList<int> list2 = new ArrayList<>();
    

 

 

常用方法

集合主要是用来存储数据的,所以常用的方法有:

public boolean add(E element):向集合中放入一个数据对象,参数是被放入的对象,返回值一定为true。

public E get(int index):从集合中取出一个对象,参数是对象的索引值(从0开始),返回值是获取的对象。

public int size():获取集合的长度,返回值是集合的长度int数字,是可以变化的。

public class Demo02ArrayListMethod 
    
    public static void main(String[] args) 
        ArrayList<String> list = new ArrayList<>();
        System.out.println(list); // []
        
        // 向集合当中添加元素:add
        list.add("鹿晗");
        list.add("吴亦凡");
        list.add("张艺兴");
        System.out.println(list); // [鹿晗, 吴亦凡, 张艺兴]
        
        boolean success = list.add("关晓彤");
        System.out.println("添加元素是否成功:" + success); // true
        System.out.println(list); // [鹿晗, 吴亦凡, 张艺兴, 关晓彤]
        System.out.println("====================");
        
        String name = list.get(1); // 获取第1号元素
        System.out.println(name); // 吴亦凡
        System.out.println(list); // [鹿晗, 吴亦凡, 张艺兴, 关晓彤]
        System.out.println("====================");
        
        System.out.println("集合的长度:" + list.size()); // 4
        list.add("赵丽颖");
        list.add("迪丽热巴");
        list.add("古力娜扎");
        list.add("玛尔扎哈"); 
        System.out.println("集合的长度:" + list.size()); // 8
    

 

 

 

存储基本类型

集合的泛型必须是引用类型,不能是基本类型。如果一定要存储基本类型,需要使用对应的包装类(都位于java.lang包下)。基本类型与包装类的对应关系如下:

l  ?   byte       Byte

l  ?   short      Short

l  ?   int          Integer

l  ?   long       Long

l  ?   float       Float

l  ?   long       Long

l  ?   char       Character

l  ?   boolean  Boolean

public class Demo04ArrayListWrapper 
    
    public static void main(String[] args) 
        ArrayList<Integer> list = new ArrayList<>();
        
        list.add(100);
        list.add(200);
        list.add(300);
        
        int result = list.get(1);
        System.out.println(result); // 200
    

 

 

存储自定义类型

集合可以存储任何引用类型,包括自定义的Person、Student等各种类。

public class Demo05ArrayListCustom 
    
    public static void main(String[] args) 
        // 首先创建几个Person对象
        Person one = new Person("迪丽热巴", 18);
        Person two = new Person("古力娜扎", 19);
        Person three = new Person("玛尔扎哈", 200);
        
        // 准备一个集合,用来存放多个Person对象
        ArrayList<Person> list = new ArrayList<>();
        
        // 将对象添加到集合当中
        list.add(one);
        list.add(two);
        list.add(three);
        
        // 遍历集合
        for (int i = 0; i < list.size(); i++) 
            Person per = list.get(i);
            System.out.println("姓名:" + per.getName() + ",年龄:" + per.getAge());
        
    

 

 

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

java集合是啥?

Java集合源码剖析Java集合框架

Java集合

Java集合

Java集合一 集合框架

Java 集合类