栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

11.3学习日记 Java ArrayList

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

11.3学习日记 Java ArrayList

一.ArrayList

ArrayList继承自AbstractList,实现List接口,它是一个动态的可修改容量大小的数组。

使用前引入ArrayList类

import java.util.ArrayList; // 引入 ArrayList 类

ArrayList objectName =new ArrayList<>();  // 初始化

E:设置objecName的数据类型,只能是引用数据类型

objectName:对象名

ArrayList各类方法:

添加元素:add()

public class RunoobTest {
    public static void main(String[] args) {
        ArrayList sites = new ArrayList();
        sites.add("Google");
        sites.add("Runoob");
        sites.add("Taobao");
        sites.add("Weibo");
        System.out.println(sites);
    }
}

访问元素:get()

public class RunoobTest {
    public static void main(String[] args) {
        ArrayList sites = new ArrayList();
        sites.add("Google");
        sites.add("Runoob");
        sites.add("Taobao");
        sites.add("Weibo");
        System.out.println(sites.get(1));  // 访问第二个元素
    }
}

修改元素:set()

public class RunoobTest {
    public static void main(String[] args) {
        ArrayList sites = new ArrayList();
        sites.add("Google");
        sites.add("Runoob");
        sites.add("Taobao");
        sites.add("Weibo");
        sites.set(2, "Wiki"); // 第一个参数为索引位置,第二个为要修改的值
        System.out.println(sites);
    }
}

删除元素:remove()

public class RunoobTest {
    public static void main(String[] args) {
        ArrayList sites = new ArrayList();
        sites.add("Google");
        sites.add("Runoob");
        sites.add("Taobao");
        sites.add("Weibo");
        sites.remove(3); // 删除第四个元素
        System.out.println(sites);
    }
}

计算元素数量:size()

public class RunoobTest {
    public static void main(String[] args) {
        ArrayList sites = new ArrayList();
        sites.add("Google");
        sites.add("Runoob");
        sites.add("Taobao");
        sites.add("Weibo");
        System.out.println(sites.size());
    }
}

迭代元素:for(){}

public class RunoobTest {
    public static void main(String[] args) {
        ArrayList sites = new ArrayList();
        sites.add("Google");
        sites.add("Runoob");
        sites.add("Taobao");
        sites.add("Weibo");
        for (int i = 0; i < sites.size(); i++) {
            System.out.println(sites.get(i));
        }
    }
}

for-each

public class RunoobTest {
    public static void main(String[] args) {
        ArrayList sites = new ArrayList();
        sites.add("Google");
        sites.add("Runoob");
        sites.add("Taobao");
        sites.add("Weibo");
        for (String i : sites) {
            System.out.println(i);
        }
    }
}

排序:sort()

import java.util.ArrayList;
import java.util.Collections;  // 引入 Collections 类

public class RunoobTest {
    public static void main(String[] args) {
        ArrayList sites = new ArrayList();
        sites.add("Taobao");
        sites.add("Wiki");
        sites.add("Runoob");
        sites.add("Weibo");
        sites.add("Google");
        Collections.sort(sites);  // 字母排序
        for (String i : sites) {
            System.out.println(i);
        }
    }
}
二.linkedList(链表)

是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的地址。

单链表

双链表 

 与 ArrayList 相比,linkedList 的增加和删除的操作效率更高,而查找和修改的操作效率较低。

使用ArrayList的情况:

频繁访问某个元素。

只需在列表末尾对元素进行操作。

使用linkedList的情况:

需要通过循环迭代来访问列表的某个函数。

需要频繁在列表开头中间结尾等位置对元素进行操作。

使用前引入linkedList类

// 引入 linkedList 类
import java.util.linkedList; 

linkedList list = new linkedList();   // 普通创建方法
或者
linkedList list = new linkedList(Collection c); // 使用集合创建链表

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/425279.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号