`

java集合查询测试结果

阅读更多
package test.com;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.Random;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test2 {

	  private static Random random = new Random();
	     public static void main(String[] args){
	         ArrayList<String> arraylist = new ArrayList();
	          LinkedList<String> linkedlist = new LinkedList();
	          HashMap<String,Object> map = new HashMap();
	          HashSet<String> set = new HashSet();
	          for(int i=0;i<50000;i++){
	              String r = randomString();
	              arraylist.add(r);
	              linkedlist.add(r);
	              map.put(r, r);
	              set.add(r);
	          }
	          
	          System.out.println("arraylist size "+arraylist.size());
	          System.out.println("linkedlist size "+linkedlist.size());
	          System.out.println("map size "+map.size());
	          System.out.println("set size "+set.size());
	          
	         
	          System.out.println("------");
	          long begin = System.currentTimeMillis();
	          for(int j=0;j<arraylist.size();j++){
	              arraylist.contains(arraylist.get(j));
	          }
	          System.out.println("arraylist time "+(System.currentTimeMillis()-begin));
	          
	          
	          begin = System.currentTimeMillis();
	          for(int j=0;j<arraylist.size();j++){
	              linkedlist.contains(arraylist.get(j));
	          }
	          System.out.println("linkedlist time "+(System.currentTimeMillis()-begin));
	          
	          begin = System.currentTimeMillis();
	          for(int i=0;i<100;i++){
	              for(int j=0;j<arraylist.size();j++){
	                 map.containsKey(arraylist.get(j));
	              }
	          }
	          System.out.println("map time "+(System.currentTimeMillis()-begin));
	          
	          begin = System.currentTimeMillis();
	          for(int i=0;i<100;i++){
	              for(int j=0;j<arraylist.size();j++){
	                  set.contains(arraylist.get(j));
	              }
	         }
	          System.out.println("set time "+(System.currentTimeMillis()-begin));
	         
	     }
	      protected static String randomString() {
	          return Long.toString(random.nextLong(), 36);
	      }


}




结果:
arraylist size 50000
linkedlist size 50000
map size 50000
set size 50000
------
arraylist time 52828
linkedlist time 65155
map time 678
set time 666

电脑4G内存
分享到:
评论

相关推荐

    java集合类的效率测试

    本测试着重探讨了Java集合类中的Set接口实现类(如HashSet)以及List接口实现类(如ArrayList和LinkedList)在进行增、删、改、查操作时的性能差异。 首先,我们来看ArrayList。ArrayList是一个基于数组实现的列表...

    java 集合练习题

    在这个“java集合练习题”中,我们主要关注如何使用Java集合框架来处理数据,特别是对于学生信息的存储、排序和输出。以下是对这个练习题的详细解析: 1. **集合框架简介**: Java集合框架是Java API的一部分,它...

    java List集合遍历测试

    java List集合遍历测试 两个List,list1和list2.

    java集合常见面试题.rar

    Java集合框架是Java编程语言中的一个核心特性,它为数据存储和操作提供了丰富的类库。在面试中,Java集合框架的深入理解往往被视为衡量开发者能力的重要标准。本压缩包文件"java集合常见面试题.rar"包含了针对这个...

    2023年Java集合知识测试B.doc

    Java集合知识测试B 本资源摘要信息涵盖了Java集合知识的多个方面,包括集合和数组的区别、Collection接口的方法、ArrayList和LinkedList的特点、队列的特点、泛型的使用等。 1. 集合和数组的区别 集合和数组是...

    java图书查询系统

    5. **JDBC(Java Database Connectivity)**:JDBC是Java访问数据库的标准接口,开发者通过JDBC驱动与数据库建立连接,执行SQL语句,处理查询结果。在图书查询系统中,JDBC是数据库操作的主要工具。 6. **MVC...

    java自定义集合类

    自定义集合类则是开发者根据特定需求扩展Java集合框架的行为,以满足个性化或特定业务场景的功能需求。以下是对"java自定义集合类"这一主题的详细解释。 首先,Java集合框架包括接口(如List、Set、Map)和实现这些...

    Java集合知识测试B.doc

    本测试主要针对Java集合知识进行考核,包括对象数组、集合与数组的区别、集合操作方法、并发修改异常处理、以及ArrayList、LinkedList和Vector等具体集合类的特点。 1. 对象数组是Java中的一种数据结构,它存储的是...

    java集合总体系整理

    在编程中,我们常常需要集中存放多个数据,比如:学校...为了保存数量不确定的数据,以及保存具有映射关系的数据(也称为关联数组),Java提供了集合类。集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。

    java各公司笔试题集合

    Java集合框架是面试中常考的部分,包括List、Set、Queue和Map接口,以及ArrayList、LinkedList、HashSet、HashMap等实现类: 1. 集合特性:线程安全、是否允许重复元素、排序规则等。 2. 遍历方式:迭代器、增强for...

    java基础练习题 (目前到集合内含三个小综合案例)

    Java集合框架包括接口(如List、Set、Queue)和实现类(如ArrayList、LinkedList、HashSet、HashMap等)。理解各种集合的区别,以及它们的实现方式和应用场景,是提升编程效率的关键。例如,List接口中的ArrayList和...

    java集合类类性能测试源代码

    这个“java集合类性能测试源代码”很可能是为了对比不同集合类在特定场景下的性能表现,帮助开发者选择最适合的集合实现。下面将详细解释Java集合框架中的主要类和它们的性能特性。 1. **ArrayList与LinkedList** ...

    JAVA 集合操作

    这篇博文将深入探讨Java集合框架,包括其基本概念、常见类、接口和实现方式,以及如何进行有效的集合操作。以下是对这些知识点的详细说明: 1. **集合框架**: Java集合框架是一组接口和类,它们提供了在程序中...

    java客房查询管理系统

    在Java客房查询管理系统中,开发者可能运用了Java的基础语法、类、接口、异常处理、集合框架(如ArrayList和HashMap)等核心概念。此外,面向对象的设计原则,如封装、继承和多态,也贯穿于整个系统的设计和实现中。...

    Java集合知识测试B.pdf

    这里我们根据提供的测试题内容,来深入探讨Java集合框架的一些关键知识点。 1. **对象数组**:对象数组是引用数据类型,它存储的是对象的引用而非实际对象。这意味着当你创建一个对象数组时,数组中每个元素都是...

    Java集合知识测试B[借鉴].pdf

    在Java集合知识测试中,涉及到了多个关键概念和方法,以下是对这些知识点的详细解释: 1. **对象数组**:对象数组是Java中的引用数据类型,存储的是对象的引用,而不是对象本身。这意味着数组中的每个元素都是指向...

Global site tag (gtag.js) - Google Analytics