Java类集框架——List接口
学习目标
List接口的扩展方法
List接口的常用子类——ArrayList
- import java.util.ArrayList ;
- import java.util.List ;
- import java.util.Collection ;
- public class ArrayListDemo01{
- public static void main(String args[]){
- List<String> allList = null ;
- allList = new ArrayList<String>() ; // 指定操作的泛型为String
- allList.add("Hello") ; // 此方法由Collection接口而来
- allList.add("World") ; // 默认情况下是向后加入
- System.out.println(allList) ;
- }
- };
- import java.util.ArrayList ;
- import java.util.List ;
- import java.util.Collection ;
- public class ArrayListDemo01{
- 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("LIUXUN") ; // 向Collection中加入内容
- allCollection.add("1993") ;
- allList.addAll(allCollection) ;
- System.out.println(allList) ;
- }
- };
注意:在指定的位置增加一个元素并不会替换原来的元素 而是后移。
- import java.util.ArrayList ;
- import java.util.List ;
- import java.util.Collection ;
- public class ArrayListDemo01{
- 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("LIUXUN") ; // 向Collection中加入内容
- allCollection.add("1993") ;
- allList.addAll(allCollection) ;
- allList.addAll(0,allCollection) ;
- System.out.println(allList) ;
- }
- };
- import java.util.ArrayList ;
- import java.util.List ;
- public class ArrayListDemo02{
- 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("liuxun") ; // 向Collection中加入内容
- allList.add("1993") ;
- allList.remove(0) ; // 删除第一个元素,指定删除的位置
- allList.remove("Hello") ; // 此方法由Collection接口继承而来
- System.out.println(allList) ;
- }
- };
集合中的内容可以添加,可以删除,那么实际上最重要的就是输出。
- import java.util.ArrayList ;
- import java.util.List ;
- public class ArrayListDemo03{
- 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("liuXun") ; // 向Collection中加入内容
- allList.add("1993") ;
- 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) + "、") ;
- }
- }
- };
此种输出方式是List接口所独有的,而其他接口没有的,尤其是Collection中是没有根据索引取出内容的操作。
- 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("liuxun") ; // 向Collection中加入内容
- allList.add("1993728") ;
- 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 + "、") ;
- }
- }
- };
- import java.util.ArrayList ;
- import java.util.List ;
- public class ArrayListDemo05{
- 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("liuxun") ; // 向Collection中加入内容
- allList.add("1993728") ;
- System.out.println(allList.contains("Hello")?"\"Hello\"字符串存在!" : "\"Hello\"字符串不存在!") ;
- List<String> allSub = allList.subList(1,3) ; // 字符串截取
- System.out.println("集合截取:") ;
- for(int i=0;i<allSub.size();i++){
- System.out.print(allSub.get(i) + "、") ;
- }
- System.out.println("\nliuxun字符串的位置:" + allList.indexOf("liuxun")) ;
- System.out.println("集合操作后是否为空?" + allList.isEmpty()) ;
- }
- };
以上的操作都是由ArrayList子类完成的。
挽救的子类:Vector
- import java.util.Vector ;
- import java.util.List ;
- public class VectorDemo01{
- public static void main(String args[]){
- List<String> allList = null ;
- allList = new Vector<String>() ; // 指定操作的泛型为String
- allList.add("Hello") ; // 此方法由Collection接口而来
- allList.add("Hello") ; // 此方法由Collection接口而来
- allList.add(0,"World") ; // 在第一个位置上添加新的内容
- allList.add("liuxun") ; // 向Collection中加入内容
- allList.add("1993728") ;
- for(int i=0;i<allList.size();i++){
- System.out.print(allList.get(i) + "、") ;
- }
- }
- };
因为Vector类本身属于旧的类,所以在类中也提供了很多重复的方法。
- import java.util.Vector ;
- import java.util.List ;
- public class VectorDemo02{
- public static void main(String args[]){
- Vector<String> allList = null ;
- allList = new Vector<String>() ; // 指定操作的泛型为String
- allList.addElement("Hello") ; // 此方法由Collection接口而来
- allList.addElement("liuxun") ; // 向Collection中加入内容
- allList.addElement("1993728") ;
- for(int i=0;i<allList.size();i++){
- System.out.print(allList.get(i) + "、") ;
- }
- }
- };
子类的差异:ArrayList与Vector的区别
Java类集框架——List接口的更多相关文章
- java:类集框架conllection接口list,set
类集中提供了以下几种接口: 1.单值操作接口:conllection,List,Set list和set是conllection接口的子接口 2.一对值的操作接口:Map 3.排序的操作接口:Sort ...
- 浅谈java类集框架和数据结构(1)
在另外一篇博客我简单介绍了java类集框架相关代码和理论. 这一篇博客我主要分析一下各个类集框架的原理以及源码分析. 一:先谈谈LinkedList 这是LinkedList源码的开头,我们能看到几点 ...
- 专题笔记--Java 类集框架
Java 类集框架 1. Java类集框架产生的原因 在基础的应用中,我们可以通过数组来保存一组对象或者基本数据,但数组的大小是不可更改的,因此出于灵活性的考虑和对空间价值的担忧,我们可以使用链表来实 ...
- 浅谈java类集框架和数据结构(2)
继续上一篇浅谈java类集框架和数据结构(1)的内容 上一篇博文简介了java类集框架几大常见集合框架,这一篇博文主要分析一些接口特性以及性能优化. 一:List接口 List是最常见的数据结构了,主 ...
- Java类集框架详细汇总-底层分析
前言: Java的类集框架比较多,也十分重要,在这里给出图解,可以理解为相应的继承关系,也可以当作重要知识点回顾: Collection集合接口 继承自:Iterable public interfa ...
- java类集框架(ArrayList,LinkedList,Vector区别)
主要分两个接口:collection和Map 主要分三类:集合(set).列表(List).映射(Map)1.集合:没有重复对象,没有特定排序方式2.列表:对象按索引位置排序,可以有重复对象3.映射: ...
- java类集框架图(google找的,备个份)
- Java -- Java 类集 -- 目录
13.1 认识类集 13.1.1 基本概念 13.1.2 类集框架主要接口 13.2 Collection接口 13.2.1 Collection接口的定义 13.2.2 Collection子接口的 ...
- java:类集框架
类集框架:jdk提供的一系列类和接口,位于java.util包当中,主要用于存储和管理对象,主要分为三大类:集合.列表和映射. 集合Set:用于存储一系列对象的集合.无序.不允许重复元素. 列表Lis ...
随机推荐
- BMP是在Bean中完成对数据库JDBC的各种调用
BMP是在Bean中完成对数据库JDBC的各种调用 CMP是由EJB容器自动完成对数据库的操作 会话Bean主要处理业务逻辑
- e657. 用直线和曲线绘制图形
GeneralPath shape = new GeneralPath(); shape.moveTo(x, y); shape.lineTo(x, y); shape.quadTo(controlP ...
- (转)关于三星cortex A9 Sate4412 开发板 uboot 启动的一些问题释疑
说明:本文转载自:http://blog.csdn.net/gooogleman/article/details/17238079 作者:gooogleman 日 ...
- CentOS 7拨号上网(ADSL & PPPoE)
步骤概述: 1.搜寻PPPoE相关软件,本人使用的是rp-pppoe yum search pppoe 2.使用yum安装rp-pppoe yum install rp-pppoe -y 3.开始配置 ...
- CentOS6.8忘记root密码的解决办法(开始初始化也可以用)
在开机启动的时候按键盘上的“E”键会进入如下界面. 选择相应的内核,再次按“E”,出现下图,选择第二项,再次按“E”键 经过第二步,这个画面可以编辑,在信息的最后加“空格”,然后键入“single”( ...
- 调用外部 DLL 中的函数(2. 晚绑定)
, b, t, );end; procedure TForm1.FormDestroy(Sender: TObject);begin FreeLibrary(inst); {记得释放}end; e ...
- 最全Java学习路线图——Java学习指南
准备篇 适用/适合人群:适合基础小白 目标:掌握JavaSE. ●技术点小节: 1.开发工具的安装配置的介绍 2.JDK安装 3.DOS环境编程 4.Eclipse的安装使用 ●JAVA基础 1.基本 ...
- css之鼠标cursor
<html> <body> <p>请把鼠标移动到单词上,可以看到鼠标指针发生变化:</p> <span style="cursor:au ...
- 超全面的JavaWeb笔记day07<Java基础加强>
1.myeclipse安装和使用(**) 2.debug调试模式(**) - F6: 单步执行 - F8:结束断点,后面有断点到下一个断点 3.myeclipse快捷键(**) 4.junit单元测试 ...
- Java精选笔记_JSP技术
JSP技术 JSP概述 什么是JSP 在JSP全名是Java Server Page,它是建立在Servlet规范之上的动态网页开发技术. 在JSP文件中,HTML代码与Java代码共同存在,其中,H ...