`
thunderbow
  • 浏览: 155908 次
  • 性别: Icon_minigender_1
  • 来自: beijing
社区版块
存档分类
最新评论

一个关于Set 和List的小测试

阅读更多
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;

public class Main {

    public static void main(String[] aa) {
        Set<Integer> set = new TreeSet<Integer>();
        List<Integer> list = new ArrayList<Integer>();
        for (int i = -3; i < 3; i++) {
            set.add(i);
            list.add(i);
        }
        for (int i = 0; i < 3; i++) {
            set.remove(i);
            list.remove(i);
        }
        System.out.println(set + " " + list);
    }
}

 答案是:
[-3, -2, -1] [-2, 0, 2]

Set倒是容易理解,List却忘记了移出之后右边的数据会往左移动。

这是个很好的题目,一个是要明白不同的数据结构对数据的存储方式,一个是理解java的自动装箱机制,再一个就是知道两个数据结构的remove方法参数是不同的,set的remove移出的自动装箱之后的对象,而list的remove方法参数是int类型。
教训,一定要仔细。

分享到:
评论

相关推荐

    第17章 - 深入研究容器 - Collection(List,Set,Queue)的性能测试框架(单线程中)(P501)

    在深入研究Java集合框架,特别是List、Set和Queue的性能测试时,我们通常会关注它们在单线程环境中的表现。这些容器是Java编程中不可或缺的一部分,用于存储和管理对象。本章将探讨如何构建一个性能测试框架来比较...

    Java操作Redis,实现String、List、Map的set和get

    为了使代码更加健壮和易于使用,我们可以将这些方法封装在一个RedisService中,并添加Junit测试。例如,创建一个`RedisService`类: ```java @Service public class RedisService { @Autowired private ...

    测试报告与总结\list,set,map,数组间的相互转换

    测试报告与总结\list,set,map,数组间的相互转换.rar测试报告与总结\list,set,map,数组间的相互转换.rar测试报告与总结\list,set,map,数组间的相互转换.rar测试报告与总结\list,set,map,数组间的相互转换.rar

    Mysql中FIND_IN_SET()和IN区别简析

    由于 `list` 是一个字段,而不是一个值列表,所以这个查询将返回空结果,因为 `IN` 在这种情况下是检查 `list` 字段的值是否与 'daodao' 相等,而不是查找包含 'daodao' 的字符串。 性能方面,`IN` 通常优于 `FIND_...

    Redis java连接 list,string set map

    自己写的例子,Java连接 redis 测试了string,list set ,map类型,以及中文测试,都正常,资源解释:http://www.cnblogs.com/aspirant/p/6816180.html

    C语言版的STL,包含set,list,map等基本数据结构和算法.zip

    1. **Set**:在C++中,set是一个关联容器,它按照键的唯一性和排序规则存储元素。在C语言实现中,set通常通过自定义的哈希表或平衡二叉搜索树(如红黑树)来实现。这个库可能提供了插入、删除、查找以及保持元素有序...

    Spring_集合(List_Map_Set)_自动装配

    Spring是一个开源的Java平台,它为构建企业级应用提供了全面的框架支持。它强调的是依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming, AOP),这使得开发者能够更加关注业务逻辑,...

    C#将List与xml互转_支持简单类型.rar

    这个压缩包"**C#将List与xml互转_支持简单类型.rar**"包含了一个示例文本文件"**C#将List与xml互转_支持简单类型.txt**"和一个可能用于测试的数据文件"**1.xls**"。 首先,让我们理解List和XML的基本概念。List是...

    java反射,获取所有属性、方法以及List集合类

    本篇文章将深入探讨如何使用Java反射来获取一个类的所有属性、方法,并处理List集合类。 首先,让我们了解Java反射的基础概念。在Java中,`java.lang.Class`类代表运行时的类信息。我们可以使用`Class.forName()`...

    两个数组的交集(python+set)1

    由于我们已经将`nums1`和`nums2`转换为`set`,我们可以直接使用`set`的交集操作符`&`来找到交集,而不是遍历一个集合并检查另一个集合。优化后的代码如下: ```python class Solution: def intersection(self, ...

    Geeks : Dijkstra’s Algorithm for Adjacency List Representation 最短路径

    2 使用一个数组记录当前顶点在堆中的位置,相当于一个hash表了,可以需要的时候,直接从表中查找表示顶点的堆节点在堆中的位置,要记得更新节点时维护好这个表。 3 释放内存的时候注意,弹出堆的节点可以马上释放...

    SetList:生成一个没有重复的整数列表

    总之,"SetList"项目为Java开发者提供了一个便捷的工具,用于生成无重复整数列表,这对于测试排序和搜索算法非常有用。通过学习和理解这个项目的实现,我们可以进一步提升在数据结构和算法方面的技能,同时也能更好...

    Redis企业级大数据平台-集成测试报告.docx

    测试内容是指对Redis企业级大数据平台的基本功能和性能的测试,包括String类型、Set类型、Hash类型、List类型和SortedSet类型等数据类型的输入输出测试,以及扩容测试等。 3.1 基本功能 基本功能测试是指对Redis...

    Python判断值是否在list或set中的性能对比分析

    在Python编程中,经常需要检查一个值是否存在于某个数据结构中,比如列表(list)或集合(set)。这种操作的性能对于程序的整体运行效率有着直接的影响。本文将详细介绍如何在Python中进行这样的检查,并通过具体的...

    hibernate 一对多测试工程

    【hibernate 一对多测试工程】是一个基于Hibernate框架的示例项目,旨在演示和测试Hibernate在处理一对一和一对多关系映射时的功能和用法。在这个工程中,我们可以通过具体的代码实例深入理解如何配置和操作数据库中...

    Python 性能测试,关于创建,遍历查询列表List,元组Tuple,集合Set,字典Dict,有序字典OrderedDict的 速度 和 空间 测试

    测试代码如下: import timeit,time from sys import getsizeof as Size from collections import OrderedDict import random List_Test = list(range(5000)) print(The Size of List is : {}.format(Size(List_Test...

    Python 中list ,set,dict的大规模查找效率对比详解

    文章通过使用numpy库随机生成大量数据,构建list、set和dict三种数据结构,并通过time模块的clock函数来测试每种数据结构的查找效率。实验结果表明,在进行单次查找操作时,set的效率最高,其次是dict,而list的查找...

    Java-Mail-list.zip_JAVA list通讯录

    在Java编程领域,"Java-Mail-list.zip_JAVA list通讯录"是一个示例项目,它展示了如何使用Java语言来实现一个基本的通讯录系统。这个项目包含添加联系人、搜索联系人、删除联系人以及查询联系人等核心功能,是学习...

    web test LoadRunner fuction_list

    标题“web test LoadRunner fuction_list”涉及到的是使用LoadRunner进行Web测试的相关知识,特别是关于LoadRunner中的函数列表。LoadRunner是一款由Micro Focus公司开发的性能测试工具,它能够模拟大量用户并发执行...

Global site tag (gtag.js) - Google Analytics