Java集合框架基础——ArrayList

Java集合框架 集合框架了解 阅读详情

Java集合框架

集合:

   集合就是一个容器,可以存储很多东西,可以添加,可以删除,可以修改。

Collection接口:

1、Collection是Java集合式接口,式所有集合的父接口.该接口里面提供了很多操作集合的抽象方法。
2、JBK源码的一个介绍(Ctrl+H:查看源码)
The root interface in the collection hierarchy. A collection
represents a group of objects, known as its elements. Some
collections allow duplicate elements and others do not. Some are ordered
and others unordered. The JDK does not provide any direct
implementations of this interface: it provides implementations of more
specific subinterfaces like Set and List. This interface
is typically used to pass collections around and manipulate them where
maximum generality is desired.
注意:Jdk对于Collection接口不提供直接的显示类,而是提供子接口,子接口的层次结构如《子接口的层次结构》
collection集合里面各个类的层次关系图
在这里插入图片描述

Collection接口提供的抽象方法

boolean add(E e) 
向集合里面添加元素。  
boolean addAll(Collection<? extends E> c) (批量添加元素)
将指定集合中的所有元素添加到这个集合(可选操作)。  
void clear() 
从这个集合中移除所有的元素(可选操作)。  
boolean contains(Object o) 
返回 true如果集合包含指定元素。  
boolean containsAll(Collection<?> c) 
返回 true如果这个集合包含指定集合的所有元素。  
boolean equals(Object o) 
将指定的对象与此集合进行比较,以进行相等性。  
int hashCode() 
返回此集合的哈希代码值。  
boolean isEmpty() 
返回 true如果集合不包含任何元素。  
Iterator<E> iterator() 
返回此集合中的元素的迭代器。  
default Stream<E> parallelStream() 
返回一个可能并行 Stream与集合的来源。  
boolean remove(Object o) 
从这个集合中移除指定元素的一个实例,如果它是存在的(可选操作)。  
boolean removeAll(Collection<?> c) 
删除此集合中包含的所有元素(可选操作)的所有元素(可选操作)。  
default boolean removeIf(Predicate<? super E> filter) 
删除满足给定谓词的这个集合的所有元素。  
boolean retainAll(Collection<?> c) 
仅保留包含在指定集合中的这个集合中的元素(可选操作)。  
int size() 
返回此集合中的元素的数目。  
default Spliterator<E> spliterator() 
创建此集合中的元素的 Spliterator。  
default Stream<E> stream() 
返回一个序列 Stream与集合的来源。  
Object[] toArray() 
返回包含此集合中所有元素的数组。  
<T> T[] toArray(T[] a) 
返回包含此集合中所有元素的数组;返回数组的运行时类型是指定的数组的运行时类型。  

Collection中子类ArrayList提供的方法测试

package com.tedu.collection;

import org.junit.Test;

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

public class Demo1 {
    /**
     * Java中Collection接口中的实现方法,子类:ArrayList
     *会对ArrayList对象进行:访问长度、添加、删除、修改、遍历集合中的元素、
     * 判断是否非空、以及怎样批量添加删除等
     */

    @Test
    public void a1(){
        //建立Collection对象
        Collection c1 = new ArrayList();
        //访问列表长度
        System.out.println("此时新建对象c1的长度为:"+c1.size());
        //添加列表元素
        c1.add("六枝特区");
        c1.add("安顺");
        c1.add("都匀");
        c1.add("遵义");
        c1.add("毕节");
        System.out.println("添加以后的长度为:"+c1.size());
        //遍历列表元素(特殊形式的for循环,也可以使用迭代)
        for(Object a:c1){
            System.out.println("当前元素为:"+a);
        }
        //可以直接输出列表c1
        System.out.println(c1);
        //删除列表元素
        Boolean f=c1.remove("遵义");
        if (f){
            System.out.println("删除成功");
        }
    }

    //批量删除元素.removeAll
    @Test
    public void a2(){
        Collection c1 = new ArrayList();
        Collection c2 = new ArrayList();
        c1.add("六枝特区");
        c1.add("安顺");
        c1.add("都匀");
        c1.add("遵义");
        c1.add("毕节");
        c2.add("六枝特区");
        c2.add("安顺");
        c2.add("都匀");
        c2.add("铜仁");
        c1.removeAll(c2);//从c1中删除c2中的相同的列表元素
        for (Object a:c1){
            System.out.println("当前元素是:"+a);
        }
        //判断是否非空isEmpty
        Boolean f=c2.removeAll(c2);//删除自身
        if(f){
            System.out.println(c2.isEmpty());
        }
        System.out.println(c2.size());
    }

}

a1()运行的结果:
在这里插入图片描述

a2()的运行结果
在这里插入图片描述

使用迭代的方法遍历集合元素

//测试使用迭代的方式遍历ArrayList对象里面的元素,
/**
 * 步骤:
 * 1、创建好ArrayList对象c1,并添加好集合元素
 * 2、获取c1中的迭代对象
 * Iterator iterator = c1.iterator();
 * 3、利用while循环遍历列表
 * 格式如下:
 * while(iterator.hasnext()){//判断是对象是否非空
 *     System.out.prinfln("当前对象元素为:"+iterator.next());
 * }
 */
@Test
public void a3(){
    //创建ArrayList对象
    Collection c1 = new ArrayList();
    //添加元素
    c1.add("六枝特区");
    c1.add("安顺");
    c1.add("都匀");
    c1.add("遵义");
    c1.add("毕节");
    c1.add("六枝特区");
    //得到集合c1的迭代器
    Iterator iterator=c1.iterator();
    //利用while(iterator.hasNext())循环遍历集合c1中的元素
    while(iterator.hasNext()){
        System.out.println("当前的元素为:"+iterator.next());
    }

运行结果:
在这里插入图片描述
测试将ArrayList对象集合转化成数组

/**
 * 测试将ArrayList对象列表转化成数组(.toArray()方法)
 * 利用语句
 * Object[] obj=arrayList.toArray();
 * for(int i=0;i<obj.length;i++){
 *     System.out.println(obj[i]);
 * }
 */
@Test
public void a4(){
    //创建ArrayList对象
    Collection c1 = new ArrayList();
    //添加元素
    c1.add("六枝特区");
    c1.add("安顺");
    c1.add("都匀");
    c1.add("遵义");
    c1.add("毕节");
    c1.add("六枝特区");
    Object[] obj=c1.toArray();
    for (int i = 0; i <obj.length ; i++) {
        System.out.println(obj[i]);
    }
}

运行结果:
在这里插入图片描述

Set

优快云独家 | 全网首发 | 《目标检测蓝皮书》目录 10篇文章从目标检测小白变大神 阅读详情

相关推荐

MediaPipe实战:从零构建人脸关键点检测应用

本文详细介绍了如何使用Google的MediaPipe框架从零构建一个实时人脸关键点检测应用。文章深入剖析了MediaPipe的三段式检测流水线,提供了Android平台的完整实战教程,包括环境配置、模型加载、摄像头集成、关键点绘制以及性能调优指南,帮助开发者快速实现高效、跨平台的人脸AR特效与交互功能。

weixin_29100927的博客 341

Java集合框架最全详解(超详细)保姆级

TreeSet集合存储自定义类型的对象时,必须指定排序规则,支持如下两种方式来指定比较规则。方式一让自定义的类实现Comparable接口,重写里面的compareTo方法来指定比较规则。方式二通过调用TreeSet集合有参数构造器,可以设置Comparator对象(比较器对象,用于指定比较规则)。

Aa2467022050的博客 6853

Camera ITS测试

一、手机端设置: 将 CtsVerifier.apk 安装到设备上, 连接上linux主机。 二、主机端设置: 基础:CTS测试运行环境 然后,主机安装python2.7,及numpy/scipy/matplotlib/opencv 栈和 python 成像库。按照下面的命令依次安装: sudo apt­-get install python-­numpy sudo apt-­g...

wangubuntu的专栏 7784

java中集合框架汇总

Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。Collection 接口又有 3 种子类型,List、Set 和 Queue,再下面是一些抽象类,最后是具体实现类,常用的有 ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、LinkedHashMap 等等。

雪上空留码行处的博客 1097

保姆级教程:用Protege 5.5.0从零构建你的第一个知识图谱(附实战案例文件)

本文提供了一份详细的Protege 5.5.0使用指南,从零开始构建知识图谱。涵盖环境配置、本体结构设计、实例填充到可视化展示的全流程,特别适合初学者快速掌握知识建模技术。通过实战案例演示,帮助读者理解如何定义类、属性及建立实例关系,是学习知识图谱构建的实用教程。

weixin_42548816的博客 554

硬核拆解华为/大疆/小米硬件面试真题:手撕电路+考点思维导图(附答案)

设计一个增益为20dB、带宽≥100kHz的同相放大器,电源电压±5V,要求输出摆幅≥8V。12位ADC的参考电压2.5V,输入信号1kHz正弦波,峰峰值2V。输入24V转5V/10A的同步降压电路,开关频率500kHz,计算MOSFET的损耗并选择型号(需提供TI官网截图)。设计无人机图传系统,要求1080P@30fps,传输距离2km。FPGA设计中,100MHz时钟域到50MHz时钟域传输32位数据,给出同步方案并画时序图。“设计一个输入12V、输出5V/3A的同步降压电路,给出关键参数计算”

qq_63103361的博客 3534

【java学习】集合框架:Map、Collection(Set、List、Queue、Array)

建立一个第三方类并实现java.util.Comparator接口。并重写方法。Comparable接口将比较代码嵌入自身类中,而后者在一个独立的类中实现比较。然后排序:Collections.sort(list, new MySort ());的第二个参数返回一个int型的值,就相当于一个标志,告诉sort方法按什么顺序来对list进行排序。如:定义集合形式为TreeSet ts = new TreeSet(new 第三方类());

午后阳光 5524

用例设计:滴滴打车从轿车到完成支付如何测?

滴滴打车全流程测试用例设计从业务场景覆盖、功能逻辑分解、异常流验证三个维度展开,系统化地构建了测试方案。首先,业务流主干场景被分解为叫车、行程中、支付结算三个阶段,每个阶段都设计了核心测试用例,包括正向和异常用例,如定位准确性、车型选择逻辑、路径偏移监控、费用实时计算、多支付方式兼容等。专项测试补充了状态机验证、资损防控测试和性能测试,确保系统在不同情况下的稳定性和安全性。测试数据策略采用等价类划分设计,实战技巧包括流量回放技术、混沌工程注入和计费沙盒验证,以提高测试的覆盖率和准确性。最终输出交付物包括流程

海姐软件测试的博客 1524

Java基础(十五)集合框架

一方面,面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储。另一方面,使用数组存储对象方面具有一些弊端,而Java 集合就像一种容器,可以动态地把多个对象的引用放入容器中。数组在内存存储方面的特点数组初始化以后,长度就确定了。数组中的添加的元素是依次紧密排列的,有序的,可以重复的。数组声明的类型,就决定了进行元素初始化时的类型。不是此类型的变量,就不能添加。可以存储基本数据类型值,也可以存储引用数据类型的变量数组在存储数据方面的弊端。

zhufei463738313的博客 1900

微信小程序利用Echarts加载中国地图的步骤

微信小程序如何利用Echarts加载地图?可按照如下四个步骤进行。(阅读时间大概3分钟)。

成都都成 5273

【Labview与SQL Server互联(labview可以引用数据库)】

Labview与SQL Server互联

Magize的博客 3585

JAVA基础集合框架ArrayList

1. 集合框架(去除ArrayList中重复字符串元素方式) 思路:创建新集合的方式,通过迭代器获得原来集合的元素,再把获取的元素添加到新集合当中,此过程判断新集合中是否已经包含该元素(通过contains方法),若不包含,则将元素添加到新集合中,否则不添加。最后再输出新的集合即可。 示例: public static void main(String[] args) { Arra...

ITcaspar的博客 296

AI agents在公司财务报表分析中的应用

在当今竞争激烈的商业环境中,公司财务报表分析对于企业的决策制定、风险评估、战略规划等方面起着至关重要的作用。传统的财务报表分析方法往往依赖于人工操作,存在效率低下、容易出错、难以处理海量数据等问题。而AI agents作为人工智能领域的重要成果,具有自动化、智能化、高效性等特点,能够为财务报表分析带来新的突破和变革。

SuperAGI2025 1609

Java 集合框架基础:ArrayList 与包装类

Java集合框架基础:ArrayList与包装类 摘要:本文介绍了Java集合框架中ArrayList的基本操作和特性。ArrayList作为动态数组,支持增删改查等操作,相比数组长度可变且功能丰富。文章详细讲解了ArrayList的创建、常用方法(add/remove/set/get)、遍历方式及底层扩容机制(默认10容量,1.5倍扩容)。同时说明了基本数据类型需通过包装类(如Integer)才能在集合中使用,并介绍了自动装箱拆箱机制。最佳实践包括指定初始容量优化性能、使用接口类型声明等注意事项。

Zzz2608440484的博客 1000

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Java 集合框架 ——— ArrayList 基础使用

数组的长度是固定的,无法适应数据变化的需求,因此Java提供了 ArrayList 集合类来解决这个问题。ArrayList 是大小可变的数组的实现,比数组使用起来更加灵活,它的容量能动态增长。ArrayList 对象不能存储基本类型,只能存储引用类型的数据。因此不能使用 int,double 等基本数据类型。

weixin_48471044的博客 267

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

JAVA基础集合框架【一】ArrayList之源码翻译-上

文章首发于:clawhub.club 基于 JDK1.8 的ArrayList源码: /* * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. *...

weixin_45493817的博客 315

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Java基础之集合框架--ArrayList

实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。(此类大致上等同于 Vector 类,除了此类是不同步的。) size、isEmpty、get、set、iterator 和 listIterator 操作都以固定时间运行。add 操作以分摊的固定时间 运行,也就是说,添加 n 个元素需要 O(n) 时

ljh_learn_from_base的博客 341

Java基础16(集合框架 List ArrayList容器类 ArrayList底层源码解析及扩容机制)

什么是集合?集合就是“由若干个确定的元素所构成的整体”,在程序中,一般代表保存若干个元素(数据)的某种容器类。在数学中,我们经常遇到集合的概念。例如:一个班所有的同学构成的集合;一个网站所有的商品构成的集合;...全体自然数集合:1,2,3,……有理数集合;实数集合;...为什么要在计算机中引入集合呢?计算所有同学的总成绩和平均成绩;列举所有的商品名称和价格;……

qq_52897007的博客 1345

java基础之集合框架(一) ArrayList和LinkedList的使用

Link是接口,ArrayList和LinkedList是去实现这个接口,List接口没有LinkedList类的方法,如果需要LinkedList的方法就不能写成List list = new LinkedList(),只能LinkedList list = new LinkedList()//返回列表最后一个元素。//返回列表第一个元素。ArrayList和LinkedList的使用。1.3实际应用场景:图书管理系统。2.2.副函数(与上边一样)1.ArrayList的使用。

2303_80933038的博客 733

Java基础--集合框架Conllection(LinkedList、ArrayList)

集合框架集合类 概述:面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式。 与数组的区别: 数组:可存储基本数据类型,可存储对象,但长度是固定的,只能存同一类型的对象; 集合:只用于存储对象,长度是可变的,可以存储不同类型的对象; 数据结构:因为每个容器对数据的

junior8289的博客 4845

Java基础(19)数据结构概述、ArrayList集合、Vector集合、LinkedList集合、集合框架练习

1. 数据结构概述 1. 数据结构的概述:数据结构就是数据存储的方式 2. 常见数据结构:栈,队列,数组,链表,二叉树,哈希表 3. 栈和队列 (1)栈:先进后出,后进先出 (2)队列:先进先出,后进后出 4. 数组和链表 (1)数组:查询快,增删慢 (2)链表:查询慢,增删快 5. List的三个子类的特点 (1)ArrayList:底层采用数组,查询快,增删慢。线程不安全,效率高 (2)Vector:底层采用数组,查询快,增删慢。线程安全,效率低 (3)LinkedList:底层采用链表,查询慢,增删快

nswzr的博客 202

JAVA基础--JAVA API集合框架(ArrayList、HashSet、HashMap使用)14

一、集合Collection   1. 集合介绍   变量:表示的内存中的一个空间,只能保存确定类型的单个数据   数组:表示的是内存中的多个连续的空间,这些空间中可以存储多个同类型的数据。   后期继续学习面向对象技术,我们在程序中开始创建对象,使用对象。当在程序中创建的多少越来越多的时候,我们就需要将这些对象也存储起来。   需要存储对象:肯定是需要容器。 ...

a18800118638的博客 157

JAVA基础08-集合框架(三)ArrayList

(1)ArrayList简介 ArrayList是一个动态数组,它的容量能够动态增长,它继承于AbstractList,实现了List,RandomAccess, Cloneable, java.io.Serializable这些接口。 ArrayList 继承了AbstractList,实现了List。它是一个数组队列,提供了相关的添加、删除、修改、遍历等功能。 ArrayList 实现了Ran...

qq_36675851的博客 221

Java语言基础(集合框架1(List集合、ArrayList集合、Vector集合、LinkedList集合、迭代器、for增强、Collection集合))

Java语言基础 集合框架 集合 集合的由来: 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,Java就提供了集合类。 数组和集合的区别: (1): 长度区别: 数组的长度是固定的而集合的长度是可变的 (2): 存储数据类型的区别: 数组可以存储基本数据类型 , 也可以存储引用数据类型; 而集合只能存储引用数据类型 (3): 内容区别: 数组只能存储同种数据类型的元素 ...

Pluto.的博客 225

【Java零基础连载11】Java集合框架上篇|集合体系、ArrayList、LinkedList、Vector底层原理与实战

上一篇我们彻底吃透了String三兄弟、八大包装类、日期工具类等高频API,补齐了日常开发工具类短板,能够熟练完成字符串处理、数值转换、日期格式化等基础业务操作。从本篇开始,我们正式进入Java进阶核心重难点:集合框架。如果说基础语法是Java的骨架,那么集合就是Java的血肉。在实际项目开发中:查询列表数据、分页数据、批量参数、对象存储、临时数据缓存,99%的场景都离不开集合。

荏苒夕阳的博客 241

java基础:13.5 集合框架 - List 表(ArrayList)

文章目录1、ArrayList2、和数组的区别3、常用的方法4、使用泛型与不使用泛型5、遍历6、练习 1、ArrayList 在 java基础:6.0 ArrayList 中,初步了解了ArrayList,知道了ArrayList的特点: ArrayList 的大小灵活,所以无须提前给定它的大小。而当创建一个数组时,它的大小必须给定。 ArrayList 包含许多有用的方法。比如,可以使用con...

桃子味的梨 592
上一篇: 测试文件的导入@Text(junit)
下一篇: Java集合框架——List的排序方式以及队列测试Queue
惠溪崽崽
博客等级 码龄7年 4粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值