Java:List的remove解析

 

 

import java.util.*;
public class CollectionTest {
public static void main(String[] args) { 

TreeSet set = new TreeSet();
ArrayList list = new ArrayList();
Vector vector = new Vector(); 

for (int i = 0; i < 10; i++) {
set.add(i);
list.add(i);
vector.add(i);
}
System.out.println("初始化后set里的值为:" + set.toString());
System.out.println("初始化后list里的值为:" + list.toString());
System.out.println("初始化后vector里的值为:" + vector.toString()); 

for (int i = 0; i < 5; i++) {
set.remove(i);
list.remove(i);
vector.remove(i); 

}
System.out.println("此时set的值为" + set.toString());
System.out.println("此时后list的值为" + list.toString());
System.out.println("此时后vector的值为" + vector.toString()); 

} 

} 

 

程序运行的结果:
初始化后 set里的值为:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
初始化后list里的值为:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
初始化后vector里的值为:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
处理后set的值为[5, 6, 7, 8, 9]
处理后list 的值为[1, 3, 5, 7, 9]
处理后vector的值为[1, 3, 5, 7, 9]

看出来了吗,最后list和和vector得到结果不是想象的[[5, 6, 7, 8, 9]],而是[1, 3, 5, 7, 9]。

注解:
List 里两个方法:
public E remove(int index)。//每次删除一个元素,后面的元素自动全部向前移动;
public boolean remove(Object o)//这个删除对象

 

时间: 2024-11-18 03:26:26

Java:List的remove解析的相关文章

groovy/java自实现json解析器(2)JsonObject

底层数据结构实现 本对象的底层数据结构是一个Map(映射),我们用def private jsonMap将其定义为对象变量.我们在构造函数中对其进行初始化,它以键值对的形式存储数据,其中键必须为字符串,值可以为字符串.Boolean.Integer.JsonArray.JsonObject,从最后两个可存储对象,我们或多或少地已能看出JsonObject是如何达成普通json对象里的无限嵌套了. 下面是本对象的构造函数. def JsonObject( jsonMap = null) { thi

实现Java中的高性能解析器

在某些情况下,你可能需要在Java中实现你自己的数据或语言解析器,也许是这种数据格式或语言缺乏标准的Java或开源解析器可以使用.或者虽然有现成的解析器实现,但它们要么太慢,要么太占内存,要么就是没有符合你所需要的特性.又或者是某个开源的解析器存在缺陷,要么是某个开源解析器的项目中止了,原因不一而足.不过无论原因是什么,总之事实就是你必须要自己去实现这个解析器. 当你必须自己实现一个解析器时,你对它的期望会有很多,包括性能良好.灵活.特性丰富.方便使用,以及便于维护等等.说到底,这也是你自己的代

JAVA中使用Htmlparse解析HTML文档

import java.util.HashMap;   import java.util.Map;   import org.htmlparser.Node;   import org.htmlparser.NodeFilter;   import org.htmlparser.Parser;   import org.htmlparser.tags.LinkTag;   import org.htmlparser.util.NodeList;   import com.yao.http.Htt

使用java开发的表达式解析框架有哪些?

问题描述 使用java开发的表达式解析框架有哪些? 对于使用Java开发的表达式解析框架这个问题不是很清楚,不太理解,使用java开发的那些表达式解析框架到底是什么意思呢,到底应该怎么去理解呢?使用java开发的表达式解析框架有哪些? 解决方案 java开发框架_ZK使用笔记二使用 IBATIS 框架开发JAVA GUI 解决方案二: 要解析什么类型的表达式呢,算工表达式是不需要解析的.

groovy/java自实现json解析器(1)绪论

groovy是一门以java为基础的动态语言,它强大地动态特性为我们的敏捷开发带来了极大的便利,下面是一个由grovvy(完美兼容嵌套java实现的json)解析器的部分代码展示,我们都知道,json字符串只要满足格式要求,那么它是可以无限循环嵌套的,而本解析器的核心实现就是大量的递归函数运用,将json字符串一层层地解析开,并拼装成我们相应的数组或对象.它主要由以下五个类组成: --JsonObject.groovy --JsonArray.groovy --JsonTool.groovy -

Java二进制指令代码解析

小注:去年在看<深入解析JVM>书的时候做的一些记录,同时参考了<Java虚拟机规范>.只是对指令的一些列举,加入了一些自己的理解.可以用来查询. Java二进制指令代码解析 Java源码在运行之前都要编译成为字节码格式(如.class文件),然后由ClassLoader将字节码载入运行.在字节码文件中,指令代码只是其中的一部分,里面还记录了字节码文件的编译版本.常量池.访问权限.所有成员变量和成员方法等信息(详见Java字节码格式详解).本文主要简单介绍不同Java指令的功能以及

php-PHP提供了一个借口 用Java调用然后实现解析json数据展示到界面上最好能有demo

问题描述 PHP提供了一个借口 用Java调用然后实现解析json数据展示到界面上最好能有demo PHP提供了一个借口 用Java调用然后实现解析json数据展示到界面上最好能有demo 解决方案 说真的其实我也不会,你可以问高手 解决方案二: 使用了新浪云的php,直接json_encode数据库查询结果 代码如下 <?php header("Content-type: text/html; charset=utf-8"); //echo 'Hello, SAE!'; $my

java中使用sax解析xml的解决方法_java

在java中,原生解析xml文档的方式有两种,分别是:Dom解析和Sax解析 Dom解析功能强大,可增删改查,操作时会将xml文档以文档对象的方式读取到内存中,因此适用于小文档 Sax解析是从头到尾逐行逐个元素读取内容,修改较为不便,但适用于只读的大文档 本文主要讲解Sax解析,其余放在后面 Sax采用事件驱动的方式解析文档.简单点说,如同在电影院看电影一样,从头到尾看一遍就完了,不能回退(Dom可来来回回读取) 在看电影的过程中,每遇到一个情节,一段泪水,一次擦肩,你都会调动大脑和神经去接收或

Java Thread多线程全面解析_java

多线程是java中很重要的知识点,在此小编给大家总结Java Thread多线程,非常有用,希望大家可以掌握哦. 一.线程的生命周期及五种基本状态 关于Java中线程的生命周期,首先看一下下面这张较为经典的图: 上图中基本上囊括了Java中多线程各重要知识点.掌握了上图中的各知识点,Java中的多线程也就基本上掌握了.主要包括: Java线程具有五种基本状态 新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thread t = new MyThread(); 就绪状态(Runnab

JAVA List使用Remove时的一些问题

近日在项目中遇到了一个诡异的问题,参考代码如下: [java] public class ListTest { public static List listFactory() { return new ArrayList(Arrays.asList("a", "b", "c", "d")); } public static void main(String[] args) { List testList = null; St