1、掌握 List 接口与Collection 接口的关系
2、掌握 List 接口的常用子类:ArrayList 、Vector
3、掌握 ArrayList 与 Vector 类的区别
具体内容
Collection 下分为很多的子接口,其中有一个 List 接口, List 接口中可以存放任意的数据。 而且在 List 接口中内容是允许重复的。List 接口的功能要比 Collection 接口强大很多,因为大量的扩充了 Collection 接口的操作。
如果要想使用接口,则肯定要使用对象的多态性进行实例化的操作,那么对于 List 接口本身也是一样的。
ArrayList 是List 中最常用的子类。
例一:
import java.util.ArrayList ; import java.util.List ; public class ArrayListDemo1{ public static void main(String args[]){ List<String> allList = null ; allList = new ArrayList<String>() ; // 指定操作的泛型为String allList.add("Hello") ; // 此方法由Collection接口而来 allList.add(0,"World") ; // 在第一个位置上添加新的内容,原来的内容向后移 System.out.println(allList) ; } }
例二:在指定位置添加数据,添加的方法是 List接口扩充的方法。
import java.util.ArrayList ; import java.util.List ; import java.util.Collection ; public class ArrayListDemo1{ public static void main(String args[]){ List<String> allList = null ; Collection<String> allCollection = null ; allList = new ArrayList<String>() ; // 指定操作的泛型为String allCollection = new ArrayList<String>() ; // 指定一个集合 allList.add("Hello") ; // 此方法由Collection接口而来 allList.add(0,"World") ; // 在第一个位置上添加新的内容 System.out.println(allList) ; allCollection.add("LXH") ; // 向Collection中加入内容 allCollection.add("www.mldn.cn") ; allList.addAll(allCollection) ; System.out.println(allList); allList.addAll(0,allCollection) ;//指定位置上加入一组数据 System.out.println(allList) ; } }
输出结果:
[World, Hello] [World, Hello, LXH, www.mldn.cn] [LXH, www.mldn.cn, World, Hello, LXH, www.mldn.cn]
例三:List 中存在两种删除:根据对象内容、根据对象的编号
import java.util.ArrayList ; import java.util.List ; public class ArrayListDemo1{ public static void main(String args[]){ List<String> allList = null ; allList = new ArrayList<String>() ; // 指定操作的泛型为String allList.add("Hello") ; // 此方法由Collection接口而来 allList.add(0,"World") ; // 在第一个位置上添加新的内容 allList.add("MLDN") ; allList.add("www.mldn.cn") ; System.out.println(allList); allList.remove(0) ; // 删除第一个元素,指定删除的位置 System.out.println(allList); allList.remove("Hello") ; // 此方法由Collection接口继承而来 System.out.println(allList) ; } }
输出结果:
[World, Hello, MLDN, www.mldn.cn] [Hello, MLDN, www.mldn.cn] [MLDN, www.mldn.cn]
例四:在List 接口中提供了 get() 方法,利用此方法就可以完成输出。通过循环完成输出,循环的次数由size() 方法取得。此输出方式是 List 接口所独有的,而其他接口是没有的,尤其是 Collection 中是没有根据索引取出内容的操作。
import java.util.ArrayList ; import java.util.List ; public class ArrayListDemo1{ public static void main(String args[]){ List<String> allList = null ; allList = new ArrayList<String>() ; // 指定操作的泛型为String allList.add("Hello") ; // 此方法由Collection接口而来 allList.add("Hello") ; // 向Collection中加入内容 allList.add(0,"World") ; // 在第一个位置上添加新的内容 allList.add("MLDN") ; allList.add("www.mldn.cn") ; System.out.print("由前向后输出:") ; for(int i=0;i<allList.size();i++){ System.out.print(allList.get(i) + "、") ; } System.out.print("\n由后向前输出:") ; for(int i=allList.size()-1;i>=0;i--){ System.out.print(allList.get(i) + "、") ; } } }
输出结果:
由前向后输出:World、Hello、Hello、MLDN、www.mldn.cn、 由后向前输出:www.mldn.cn、MLDN、Hello、Hello、World、
输出方式二:
import java.util.ArrayList ; import java.util.List ; public class ArrayListDemo04{ public static void main(String args[]){ List<String> allList = null ; allList = new ArrayList<String>() ; // 指定操作的泛型为String allList.add("Hello") ; // 此方法由Collection接口而来 allList.add(0,"World") ; // 在第一个位置上添加新的内容 allList.add("MLDN") ; // 向Collection中加入内容 allList.add("www.mldn.cn") ; String str[] = allList.toArray(new String[]{}) ; // 指定好类型 System.out.print("指定数组类型:") ; for(int i=0;i<str.length;i++){ System.out.print(str[i] + "、") ; } System.out.print("\n返回对象数组:") ; Object obj [] = allList.toArray() ; // 返回Object类型 for(int i=0;i<obj.length;i++){ String temp = (String)obj[i] ; // 进行向下转型 System.out.print(temp + "、") ; } } };
结果:
指定数组类型:World、Hello、MLDN、www.mldn.cn、 返回对象数组:World、Hello、MLDN、www.mldn.cn、
例五:完成基本的输出的功能,集合中还有以下的几个操作:
判断集合是否为空:boolean isEmpty()
截取部分集合:List<E> subList(int fromIndex, int toIndex) ,List 接口扩充。截取从fromIndex开始(包括)到toIndex结束(不包括)的字符串
查找指定的对象是否存在:int indexOf(Object o),如果查找到则返回位置,否则返回 -1
查找是否存在:boolean contains(Object o)
import java.util.ArrayList ; import java.util.List ; public class ArrayListDemo1{ public static void main(String args[]){ List<String> allList = null ; allList = new ArrayList<String>() ; // 指定操作的泛型为String System.out.println("集合操作前是否为空?" + allList.isEmpty()) ; allList.add("Hello") ; // 此方法由Collection接口而来 allList.add(0,"World") ; // 在第一个位置上添加新的内容 allList.add("MLDN") ; // 向Collection中加入内容 allList.add("www.mldn.cn") ; System.out.println(allList.contains("Hello")?"\"Hello\"字符串存在!" : "\"Hello\"字符串不存在!") ; List<String> allSub = allList.subList(2,3) ; // 字符串截取,包括2但不包括三 System.out.print("集合截取:") ; for(int i=0;i<allSub.size();i++){ System.out.print(allSub.get(i) + "、") ; } System.out.println(); System.out.println("MLDN字符串的位置:" + allList.indexOf("MLDN")) ; System.out.println("集合操作后是否为空?" + allList.isEmpty()) ; } }
输出结果:
集合操作前是否为空?true "Hello"字符串存在! 集合截取:MLDN、 MLDN字符串的位置:2 集合操作后是否为空?false
增加元素:pbulic void addElement(E obj) -->此方法是最早的增加元素的操作,之后此方法的功能与add() 方法一致的。
import java.util.Vector ; public class VectorDemo1{ public static void main(String args[]){ Vector<String> allList = null ; allList = new Vector<String>() ; // 指定操作的泛型为String allList.addElement("Hello") ; // 此方法由Collection接口而来 allList.addElement("MLDN") ; // 向Collection中加入内容 allList.addElement("www.mldn.cn") ; for(int i=0;i<allList.size();i++){ System.out.print(allList.get(i) + "、") ; } } }
相关推荐
### List接口和Map接口详解 #### 一、Java集合框架概览 Java集合框架是Java标准库的一个核心组成部分,用于处理各种数据结构如列表、集合和映射等。该框架提供了一组统一的接口和实现,使开发人员能够高效地管理和...
9.javaList 接口及其实现类.zip9.javaList 接口及其实现类.zip9.javaList 接口及其实现类.zip9.javaList 接口及其实现类.zip9.javaList 接口及其实现类.zip9.javaList 接口及其实现类.zip9.javaList 接口及其实现类....
Java集合框架中的List接口是有序集合的一个核心组成部分,允许存储并管理重复的元素。作为Collection接口的子接口,List接口提供了丰富的操作方法,使得我们能够方便地对列表进行各种操作,如添加、删除、查找以及...
集合框架(最终版)-list接口、set接口、Queue接口、Map接口
李兴华关于Java类集_List接口的简易描述课程
Java集合类——List接口 Java中的集合类是用来存放对象的,相当于一个容器,里面包容着一组对象。Java API提供的集合类位于java.util包内。Java中的集合类可以分为两类,一类是数组,另一类是集合。数组也是容器,...
List接口是有序的集合,允许包含重复元素。其主要实现类有LinkedList和ArrayList。 - **LinkedList**:基于链表结构,适用于频繁的插入和删除操作,但随机访问效率较低。 - **ArrayList**:基于动态数组,随机...
集合框架提供了各种数据结构,如List接口,用于存储有序且可能重复的元素序列。List接口是Collection接口的一个子接口,它允许我们在列表中按特定位置插入、获取或移除元素。 List接口提供了多种常用方法来处理列表...
根据给定文件的信息,我们可以提炼出关于Java软件开发中List接口实现类的关键知识点。这部分内容主要聚焦于第11章的“Java集合框架和泛型机制”,特别关注List接口及其几种实现类,包括`ArrayList`、`LinkedList`、`...
对于Java中list接口的有关问题做下的思维导图,便于深化记忆,希望对你有帮助!注意:文件为.mm后缀建议下载freemind打开,免费的思维导图软件!
List接口---马克-to-win java视频的详细的描述与介绍
在Java编程语言中,集合框架是处理对象数组的重要工具,其中`Collection`接口和`List`接口是核心组件。本教程将重点介绍这两个接口以及如何使用它们来实现学生选课系统中的“增、删、改、查”操作。 首先,`...
计算机后端-Java-Java核心基础-第25章 集合02 03. 复习:List接口.avi
计算机后端-Java-Java核心基础-第24章 集合01 13. List接口常用实现类的对比.avi
计算机后端-Java-Java核心基础-第24章 集合01 17. List接口中的常用方法测试.avi
Java中的`java.util.List`接口是集合框架的重要组成部分,它扩展了`Collection`接口,并引入了一些特定于列表的特性,如有序性、可重复性以及对元素的索引访问。这篇博客将深入探讨`List`接口及其常用实现类,如`...
1.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的 ? A、 ArrayList myList=new Object(); B、 List myList=new ArrayList(); C、 ArrayList myList=new List(); D、 List ...
【标题】"示例listdemo"是一个编程示例,它可能是关于如何在Java或类似的编程语言中使用List接口或者ArrayList类的一个教程。List是Java集合框架的重要组成部分,它提供了有序的元素存储,允许重复项,并支持索引...
list集合接口的用法(视频)
Java编程通过List接口实现数据的增删改查代码示例 Java编程中,List接口是一个非常重要的接口,它提供了对数据的增删改查操作。通过List接口,可以实现对数据的各种操作,例如添加、删除、修改和查询等。在本文中,...