iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java List接口的集合使用详解
  • 553
分享到

Java List接口的集合使用详解

2024-04-02 19:04:59 553人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录ArrayList集合LinkedList类LinkedList与ArrayList的区别:总结List接口继承collection接口,此接口可以对列表中的每个元素精确的控制,

List接口继承collection接口,此接口可以对列表中的每个元素精确的控制,可以根据元素的索引来获取列表中的值,下面介绍常用的几种,ArrayList,LinkedList。

ArrayList集合

ArrayList是一个动态修改的数组,它没有固定的大小,不需要自己分配空间,java本身已经初始化容量为10的大小,可以直接添加删除等一系列操作。

ArrayList构造方法:

  • ArrayList() ;构造一个初始化容量为10的空列表。
  • ArrayList(Collection c) ; 构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。
  • ArrayList(int initialCapacity) ;构造一个指定初始容量的空列表。

常用方法:

方法名 说明
boolean add(E e) 将指定元素添加到列表尾部
void add(int index, E element) 将指定元素添加到列表中指定位置
void clear() 删除此列表中的所有元素
Object clone() 返回ArrayList副本
boolean contains(Object o) 如果列表中包含指定元素则返回true,否则false
E get(int index) 返回列表中指定索引位置上的元素
int indexOf(Object o) 返回列表中首次出现的指定元素的索引,如果没有则返回-1
int lastIndexOf(Object o) 返回此列表中最后一次出现的指定元素的索引,没有则返回-1
E remove(int index) 删除指定索引上的元素,并返回删除值
boolean remove(Object o) 移除列表中首次出现的元素
E set(int index, E element) 将此列表中的索引位置的元素换成指定的元素
int size() 返回此列表中的元素个数
Object[] toArray() 将此列表所有元素换成数组
boolean isEmpty() 如果此列表为空则返回true
List subList(int fromlndex, int tolndex) 将此列表中从fromindex到toindex的元素组成新的集合返回

示例


import java.util.ArrayList;

public class dome2{
	public static void main(String[] args){
          ArrayList list=new ArrayList();
          list.add("nihoa"); //添加字符串
          list.add(12);   //添加数字
          list.add('a');   //添加字符
          list.add("hello");
          list.set(1,"java"); //将索引为1的换成字符串
          System.out.println("索引为2的值是:"+list.get(2));
          System.out.println("删除索引为0的值是:"+list.remove(0));
          System.out.println("列表中还有"+list.size()+"个元素");
          System.out.println("判断列表是不是为空: "+list.isEmpty());
          for (Object object : list) {   //循序打印
			System.out.print(object+" ");
		}
          
   }
}

结果
索引为2的值是:a
删除索引为0的值是:nihoa
列表中还有3个元素
判断列表是不是为空: false
java a hello

例1:

创建一个商品类,指定商品的编号,名称,价格,封装它们。

 


class Goods{
	private int id;    //编号
	private String name;   //名称
	private float price;   //价格
	public Goods() {
		
	}
	public Goods(int id, String name, float price) {
		super();
		this.id = id;
		this.name = name;
		this.price = price;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public float getPrice() {
		return price;
	}
	public void setPrice(float price) {
		this.price = price;
	}
	@Override
	public String toString() {    //格式输出
		return "商品编号: "+id+", 名称: "+", 价格: "+",";
	}
	
}

创建一个测试类,填写商品的价格,编号,名称并保存到列表中,通过ArrayList类的方法修改和获取值。

 


import java.util.ArrayList;


public class dome2{
	public static void main(String[] args){
          ArrayList<Goods> list=new ArrayList<Goods>();
          list.add(new Goods(1,"保温杯",22.0f));
          list.add(new Goods(2,"洗发水",21.3f));
          list.add(new Goods(3,"笔记本",5.0f));
          Goods g=new Goods(5,"热水壶",59.0f);
          list.add(g);
          list.add(new Goods(4,"菜刀",31.4f));
          
          //1.遍历所有商品
          for(int i=0;i<list.size();i++) {
        	  System.out.println(list.get(i).toString());
          }
          //2.获取指定商品的信息
          System.out.println("查找编号为3,名称为热水壶,价格为59元的元素索引"+list.indexOf(g));
          System.out.println("热水壶的价格是 "+list.get(3).getPrice()+" 元");
          
          System.out.println("洗发水的编号是 "+list.get(1).getId());
          
          System.out.println("将菜刀的价格设为120元 ");
          list.get(list.size()-1).setPrice(120.0f);
          
        //3.遍历所有商品
          for(int i=0;i<list.size();i++) {
        	  System.out.println(list.get(i).toString());
          }
          
   }
}

结果
商品编号: 1 名称: 保温杯 价格: 22.0
商品编号: 2 名称: 洗发水 价格: 21.3
商品编号: 3 名称: 笔记本 价格: 5.0
商品编号: 5 名称: 热水壶 价格: 59.0
商品编号: 4 名称: 菜刀 价格: 31.4
查找编号为3,名称为热水壶,价格为59元的元素索引3
热水壶的价格是 59.0 元
洗发水的编号是 2
将菜刀的价格设为120元
商品编号: 1 名称: 保温杯 价格: 22.0
商品编号: 2 名称: 洗发水 价格: 21.3
商品编号: 3 名称: 笔记本 价格: 5.0
商品编号: 5 名称: 热水壶 价格: 59.0
商品编号: 4 名称: 菜刀 价格: 120.0

Iterator迭代器遍历:

Iterator接口是Collection接口的超级接口,通过Collection接口下的iterator方法返回iterator。

Iterator方法:

方法名 说明
boolean hasNext() 如果有元素仍可以迭代,就返回true
E next() 返回迭代的下一个元素
void remove() 移除迭代器返回的最后一个元素

public class dome2{
	public static void main(String[] args){
          ArrayList list=new ArrayList();
         list.add("hello ");
         list.add("world!,");
         list.add("hello ");
         list.add("java!");
         
         Iterator it=list.iterator();
         while(it.hasNext()) {  //判断是否还有下一个元素
        	 System.out.print(it.next());  //输出下一个元素
         }
   
   }
}

LinkedList类

LinkedList类采用链表结构保存对象,链表采用节点之间的指向,上一个节点指向下一个节点,并且可以在中间插入,不需要数组还需要重新排列,所以在频繁的插入元素和删除元素这方面,LinkedList类要比ArrayList类要快,效率更高。但在访问元素速度方面却相对落后。

构造方法

  • LinkedList() ;构造一个空列表
  • LinkedList(Collection c) ;构造一个包含指定 collection 中的元素的列表

常用方法:

方法名 说明
boolean add(E e) 将指定元素添加到元素列表的结尾
void add(int index, E element) 在列表中指定的位置插入指定的元素
void addFirst(E e) 将指定元素插入到此列表的开头
void addLast(E e) 将指定的元素添加到此列表的结尾
boolean contains(Object o) 如果列表中有指定元素返回true,否则false
E element() 获取但不移除此列表的第一个元素
E get(int index) 返回此列表中指定的元素
E getFirst() 返回此列表的第一个元素
E getLast() 返回此列表的最后一个元素
int indexOf(Object o) 返回此列表首次出现的指定元素的索引,没有返回-1
int lastIndexOf(Object o) 返回此列表最后出现的指定元素的索引,没有返回-1
E set(int index, E element) 将列表中指定位置的元素替换
E removeFirst() 移除并返回此列表中的第一个元素
E removeLast() 移除并返回此列表的最后一个元素

示例:


public class dome2{
	public static void main(String[] args){
         LinkedList list=new LinkedList();
         list.add("电风扇");
         list.add("吹风机");
         list.add("香皂");
         list.add("肥皂");
         list.add("洗发水");
         
         System.out.println("获取的第一个商品是: "+list.getFirst());
         System.out.println("获取的最后一个商品是: "+list.getLast());
         System.out.println("删除的第一个元素是: "+list.removeFirst());
         System.out.println("将索引为3的元素修改成: "+list.set(3,"牛角梳"));
         
         for(int i=0;i<list.size();i++) {
        	 System.out.print(list.get(i)+"\t");
         } 
   }
}

LinkedList与ArrayList的区别:

1.ArrayList类是基于数组结构实现的,访问速度优先于LinkedList类。

2.LinkedList类占用的内存空间比较大,但在批量插入,删除,修改等时优先于ArrayList类。

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: Java List接口的集合使用详解

本文链接: https://www.lsjlt.com/news/133890.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java List接口的集合使用详解
    目录ArrayList集合LinkedList类LinkedList与ArrayList的区别:总结List接口继承collection接口,此接口可以对列表中的每个元素精确的控制,...
    99+
    2024-04-02
  • Java集合的Collection接口和List接口详解
    目录1集合的概念2 集合的父类Collection接口2.1常用方法2.2遍历 3 List接口3.1List接口常用方法3.2遍历4 集合中元素的去重总结1集合的概念 把...
    99+
    2024-04-02
  • 详解Java集合类之List篇
    目录1.集合框架体系2.Collection接口3.迭代器4.List接口5.ArrayListArrayList扩容机制ArrayList使用实例6.Vector7.LinkedL...
    99+
    2024-04-02
  • Java中List集合的常用方法详解
    目录1、void add(intindex, Eelement)2、boolean addAll(intindex, Collection< extends...
    99+
    2024-04-02
  • Java集合之Comparable和Comparator接口详解
    目录Comparable接口Comparable接口简单应用Comparator接口Comparator接口简单应用Comparator接口 VS Comparable接口总结jav...
    99+
    2022-12-08
    Java Comparable Comparator接口 Java Comparable Java Comparator
  • Java集合框架之List ArrayList LinkedList使用详解刨析
    目录1. List1.1 List 的常见方法1.2 代码示例2. ArrayList2.1 介绍2.2 ArrayList 的构造方法2.3 ArrayList 底层数组的大小3....
    99+
    2024-04-02
  • Java集合之Map接口与实现类详解
    目录初识Map:Map接口没有从Collection接口继承,Map接口用于维护“键-值”对数据,这个“键-值”对就是Map中的元素,...
    99+
    2022-12-08
    Java 集合 Map接口 Java Map接口 Java实现Map接口
  • Java中SimpleDateFormat类和List接口的使用
    本篇内容主要讲解“Java中SimpleDateFormat类和List接口的使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java中SimpleDateFormat类和List接口的使用”...
    99+
    2023-06-15
  • Java集合类之Map集合的特点及使用详解
    目录1、Map集合概述和使用1.1 Map集合概述1.2 Map集合常用方法1.3 Map集合的遍历1、Map集合概述和使用 1.1 Map集合概述 java.util接口 Map&...
    99+
    2024-04-02
  • 使用Java怎么将List拆分为多个list集合
    使用Java怎么将List拆分为多个list集合?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、如何将List拆分为多个小list如何将List拆分多个小li...
    99+
    2023-06-14
  • Java List集合的用法有哪些
    Java List集合是一种有序的集合,可以存储重复的元素。它是Java集合框架中最常用的接口之一,提供了一系列方法来操作集合中的元...
    99+
    2023-09-12
    Java
  • Java集合之Map接口的实现类精解
    目录HashMap类1、HashMap类概述2、HashMap的存储结构(底层实现原理)3、HashMap源码中的重要常量LinkedHashMap类TreeMap类1、TreeMa...
    99+
    2024-04-02
  • 学习Java中的List集合
    目录1.概述2.List的使用2.1List的常用方法3.List的实现类3.1ArrayList3.2Vector3.3LinkedList3.4ArrayList与Vector的...
    99+
    2024-04-02
  • 使用postman传递list集合后台springmvc接收
    目录postman传递list集合后台springmvc接收postman 设置springmvc配置错误写法1错误写法2正确写法1正确写法2错误写法1解析 :正确写法1解析 :错误...
    99+
    2024-04-02
  • 如何在java集合中使用list方法
    本篇文章给大家分享的是有关如何在java集合中使用list方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。List接口是Collection接口的子接口,List有一个重要的...
    99+
    2023-05-30
    java list
  • Java List接口与Iterator接口及foreach循环使用的方法
    这篇文章主要介绍“Java List接口与Iterator接口及foreach循环使用的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java List接口与Iterator...
    99+
    2023-06-30
  • java有哪些集合类接口
    java中的集合类接口有:1.Collection,元素集合接口;2.Set,无序元素集合接口;3.List,有序元素集合接口;4.Map,键值对集合接口;java中的集合类接口有以下几种Collectionjava中Collection是...
    99+
    2024-04-02
  • Java Collection集合用法详解
    目录1.集合的主要体系及分支1.1Collection集合及实现类2.List集合(List是带有索引的,所以多注意索引越界等问题)2.1 List的实现类3.Set集合3.1Has...
    99+
    2024-04-02
  • java 获取两个List集合的交集
    获取两个List集合的交集 可以使用Java中的retainAll方法来获取两个List的交集: 假设有两个List类型的集合list1和list2,代码如下: List list1 = new ArrayList();list1.add(...
    99+
    2023-08-17
    java list 开发语言
  • Java Map集合用法详解
    目录Map集合的概述常用方法:遍历方式:Map的实现类:HashMapTreeMap集合嵌套(补充知识):高频面试题1、Map2、HashMap的底层实现Map集合的概述 概述:in...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作