Java教程

Java容器数据类型

本文主要是介绍Java容器数据类型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前言

容器就是能装对象的对象,在Java中所以集合数据类型(List、Set、Map)都遵循Collection接口。

 

一、List容器

Java的ArryList等价于Python中的List,它是线性数据结构,相对于Arry数组来说是可变长的。

List向上实现了Collection接口,向下有2个实现类,分别是ArrayList和LinkedList,两者形成优势互补,使用方法一致。

 

1.ArrayList(列表)

 ArrayList的内存是连续的,方便我们查询和遍历,但是不利于修改数据。

package Sets;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

public class TestList {
    public static void main(String[] args) {
        //列表
        List arrayList = new ArrayList();
        arrayList.add("老北京");
        arrayList.add("双胞胎");
        arrayList.add("六丁目");
        arrayList.add("康师傅");
        //[老北京, 双胞胎, 六丁目, 康师傅]
        System.out.println(arrayList);


        //链表
        List likedList = new LinkedList();
        likedList.add("老北京");
        likedList.add("双胞胎");
        likedList.add("六丁目");
        likedList.add("康师傅");
        //[老北京, 双胞胎, 六丁目, 康师傅]
        System.out.println(likedList);


    }
}

 

2.LinkedList(链表)

链表的内存是不连续的,链表的优势是利于删除和新增数据,但是不利于数据遍历和查询(从头开始找到下一个,在到下一个.....)。

 

3.常用操作

 由于链表和链表实现了同1个接口,所以2者的可以调用的方法是一致的。

package Sets;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

public class TestList {
    public static void main(String[] args) {
        //列表
        //添加元素
        List list = new ArrayList();
        list.add("老北京");
        list.add("双胞胎");
        list.add("六丁目");
        list.add("康师傅");
        list.add(1);
        //[老北京, 双胞胎, 六丁目, 康师傅]
        System.out.println(list);

        //删除元素
        list.remove("康师傅");
        System.out.println(list);

        //查看列表的长度
        System.out.println(list.size());

        //获取单个值:在list中任何元素都属于Object类型,但是我们使用值时需要强转
        Object item2 = list.get(2);
        System.out.println((String) item2); //向下转型
        Object item3 = list.get(3);
        System.out.println((int) item3); //向下转型

        //成员关系判断等价于python中的in
        System.out.println(list.contains(1));
        System.out.println(list.contains("康帅傅"));

        //变量列表
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }


    }
}

 

 

二、Set集合

Set集合等于Python中的set,相较于List来说,在set中没有重复的元素;

package Sets;

import java.util.HashSet;
import java.util.Set;
import java.util.TreeSet;

public class TestSet {
    public static void main(String[] args) {
        Set set = new HashSet();
        set.add("CS");
        set.add("DNF");
        set.add("LOL");
        set.add("CS"); //Set天然去重,重复的数据是添加不进去的
        //[CS, LOL, DNF]
        System.out.println(set);

        //TreeSet:会自动对集合中元素进行排序,而HashSet不会。
        Set treeSet = new TreeSet();
        treeSet.add(10);
        treeSet.add(102);
        treeSet.add(200);
        //[10, 102, 200]
        System.out.println(treeSet);
    }
}

1.HashSet

元素不重复并且是无序的;

 

2.TreeSet

元素不重复的,TreeSet会自动会内部的元素进行排序;

 

3.常用方法

 

 

 

三、Map映射

 Map相当于Python中的dict字典,存储key和value的值。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

参考

这篇关于Java容器数据类型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!