`

java集合 List Set Map

    博客分类:
  • java
阅读更多

 

import java.util.Comparator;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

import cn.domain.User;


public class UList {

 /**
  *
  * list排序:Collections.sort(list, new NameComparator());
  * list混洗:Collections.shuffle(list);
  *
  * Set 调用了User的hashcode()
  * HashSet 无序
  * TreeSet 有序 ,User 实现Comparable接口
  * LinkedHashSet: 插入的顺序
  *
  * Map 调用了key: User的hashcode()
  * HashMap: 无序
  * TreeMap: 按键排序   User实现Comparable
  * WeakHashMap: 无序
  *
  * treemap add:17 size:10000
  * hashmap add:13 size:10000
  * treemap add:14 size:10000
  *
  * hashset add:13 size:10000
  * treeset add:19 size:10000
  * linkedhashset add:15 size:10000
  *
  * arraylist add:2 size:10000       插入2毫秒          数组实现
    arraylist delete:16  size:0              删除16毫秒
  *
  * linkedlist add:2 size:10000   插入2毫秒            单链表
    linkedlist delete:3  size:0      删除3毫秒
  *
  *
  */
 public static void main(String[] args) {

//  String[] names =new String[]{"a","b","c"};
//  List<User> list =new ArrayList<User>();
//  long start=System.currentTimeMillis();
//  int len =10000;
//  for(int i=0;i<len;i++){
//   list.add(new User(i+"","" + i));
//  }
//  long end=System.currentTimeMillis();
//  System.out.println("arraylist add:"+(end-start)+" size:"+list.size());
//  for(int i=0;i<len;i++){
//   list.remove(0);
//  }
  //list.removeAll(list);
  //list.clear();
  //print(list);
  //Collections.sort(list, new NameComparator());
  //Collections.shuffle(list);
//  print(list);
//  start=System.currentTimeMillis();
//  System.out.println("arraylist add:"+(start-end)+"  size:"+list.size());
  
  //Set<User> set =new HashSet<User>();//Set 调用了User的hashcode()
  //Set<User> set =new TreeSet<User>();
  Set<User> set =new LinkedHashSet<User>();
  long start=System.currentTimeMillis();
  int len =10000;
  for(int i=0;i<len;i++){
   set.add(new User(i+"","" + i));
  }
  long end=System.currentTimeMillis();
  //printSet(set);
  //set = Collections.unmodifiableSet(set);
  
  System.out.println("arraylist add:"+(end-start)+" size:"+set.size());
  //printSet(set);
  
  
  //Map<String,User> map =new HashMap<String,User>();
  //Map<String,User> map =new TreeMap<String,User>();
  /*Map<String,User> map =new WeakHashMap<String,User>();
  long start=System.currentTimeMillis();
  int len =10;
  for(int i=0;i<len;i++){
   map.put(""+i, new User(i+"","" + i));
  }
  long end=System.currentTimeMillis();
  printMap(map);
  System.out.println("arraylist add:"+(end-start)+" size:"+map.size());
  */
  
  //Map<User,Object> map =new HashMap<User,Object>();
    //Map<User,Object> map =new TreeMap<User,Object>();
    /*Map<User,Object> map =new WeakHashMap<User,Object>();
    long start=System.currentTimeMillis();
    int len =10000;
    for(int i=0;i<len;i++){
     map.put(new User(i+"","" + i),null);
    }
    long end=System.currentTimeMillis();
    //printMap2(map);
    System.out.println("treemap add:"+(end-start)+" size:"+map.size());
    */
  
 }
 
 
 static class NameComparator implements Comparator{

  public int compare(Object o1, Object o2) {
   if(!(o1 instanceof User)){
    return 0;
   }
   if(!(o2 instanceof User)){
    return 0;
   }
   User u1 =(User)o1;
   User u2 = (User)o2;
   String name1 = u1.getUserName();
   String name2 = u2.getUserName();
   
   return name1.compareTo(name2);
  }
  
 }
 
 static void print(List<User> list){
  User u=null;
  for(int i=0;i<10;i++){
   u = list.get(i);
   System.out.println("id: "+ u.getUserId() +" name:"+u.getUserName());
  }
 }
 
 static void printSet(Set<User> set){
  User u=null;
  Iterator<User> it = set.iterator();
  int i=0;
  while(it.hasNext()){
   if(i>10)
    break;
   u = it.next();
   System.out.println("id: "+ u.getUserId() +" name:"+u.getUserName());
   i++;
  }
 }
 
 static void printMap(Map<String,User> map){
  Entry<String,User> u=null;
  Set<Entry<String,User>> set =map.entrySet();
  Iterator<Entry<String,User>> it = set.iterator();
  int i=0;
  while(it.hasNext()){
   if(i>10)
    break;
   u = it.next();
   System.out.println("key: "+ u.getKey() +" user:"+u.getValue().getUserName());
   i++;
  }
 }
 
 static void printMap2(Map<User,Object> map){
  Entry<User,Object> u=null;
  Set<Entry<User,Object>> set =map.entrySet();
  Iterator<Entry<User,Object>> it = set.iterator();
  int i=0;
  while(it.hasNext()){
   if(i>10)
    break;
   u = it.next();
   System.out.println("key: "+ u.getKey().getUserName() +" val:"+u.getValue());
   i++;
  }
 }

}

分享到:
评论

相关推荐

    java集合类list-set-map.doc

    java集合类list-set-map.doc

    Java集合Collection、List、Set、Map使用详解编程资料

    Java集合Collection、List、Set、Map使用详解

    java中set、list和map的使用方法实例

    // java中对象容器主要有Set,List和Map三个接口类。 // 迭代器(Iterator)模式,又叫做游标(Cursor)模式。 // GOF给出的定义为:提供一种方法访问一个容器(container)对象中的各个元素, // 而又不需暴露该...

    java集合类详解(set list ArrayList等java集合类详述)

    集合类可以分为三大类:Collection、List 和 Set。 Collection 是集合框架中的根接口,提供了基本的集合操作,如 add、remove、contains 等。Collection 接口没有实现类,因此需要通过其子接口来实现。 Set 是一个...

    JAVA集合map、list、set详解

    详细描述map、list、set的常用子类特性,各个场景的适用。

    集合概述set、List、Map

    Java集合框架主要包括以下几种容器: - **Collection**:这是所有单列集合的根接口,包括List、Set等。 - **Set**:这是一个不允许重复元素的集合。 - **List**:这是一个有序的集合,允许重复元素,并且可以通过...

    java中三种集合set、map、list的区别与联系

    在Java编程语言中,集合框架提供了多种数据结构来存储和操作数据,其中最常用的是`Set`、`Map`和`List`。这三种集合类型各自具有独特的特性和用途,理解它们之间的区别与联系对于有效地使用Java进行数据管理至关重要...

    Java集合Collection、List、Set、Map使用详解.pdf

    "Java集合Collection、List、Set、Map使用详解" Java集合是Java编程语言中最基本也是最重要的一部分。能够正确地使用集合类和理解集合的实现原理对于Java程序的开发具有无比的好处。本文将详细解释Java集合的实现...

    Java集合类List-Set-Map的区别和联系.doc

    Java 集合类 List-Set-Map 的区别和联系 Java 集合类 List、Set 和 Map 是 Java 语言中最基本的集合类,它们之间存在着紧密的联系和区别。在本文中,我们将对 Java 集合类 List、Set 和 Map 的区别和联系进行详细的...

    Java-Java集合体系-List-Set

    理解并熟练运用Java集合体系中的List、Set、Map接口及其实现类,对于日常开发和面试来说至关重要,因为它们是许多Java框架和库的基础。在实际项目中,根据需求选择合适的集合类型可以提高代码的效率和可维护性。在...

    List set map集合容器的区别

    根据给定文件的信息,我们可以详细地探讨一下Java中几种主要的集合容器——List、Set以及Map的区别,并且深入了解它们各自的特性和应用场景。 ### 一、List #### 1. ArrayList - **特点**:`ArrayList`是基于动态...

    Java集合:Collection、List、Set、Map使用详解

    本文将深入探讨Java集合框架中的四个主要接口:Collection、List、Set和Map,以及它们的实现原理。 ### 集合框架概述 集合框架是Java API中用于存储和管理对象的统一框架。它为数据结构提供了抽象接口,使得程序员...

    Java集合排序及java集合类详解(Collection、List、Map、Set).doc

    Java集合排序及java集合类详解(Collection、List、Map、Set).doc

    Java 集合框架深度解析:List、Set 和 Map 的差异与应用

    本文深入探讨了 Java 集合框架中的 List、Set 和 Map 三种集合类型,包括它们的特点、实现以及使用示例。通过对比分析,明确了它们之间的区别和适用场景。希望本文能够帮助你在实际开发中更好地利用 Java 集合框架,...

    Java集合Collection、List、Set、Map使用详解

    本文将深入解析Java集合中的Collection、List、Set和Map,包括它们的使用方法、实现原理以及如何进行排序。 ### 集合框架概述 1.1.1 容器简介 容器是Java集合框架的基础,它是一个可以存储多个对象的容器,提供了...

    Java集合排序及java集合类详解(Collection、List、Map、Set)讲解.pdf

    Java集合排序及java集合类详解(Collection、List、Map、Set)讲解 Java集合框架是Java语言中最重要的组件之一,能够正确使用Java集合框架对于Java程序的开发具有无比的好处。本文将详细解释Java集合框架的实现原理、...

    Java集合排序及java集合类详解(Collection、List、Map、Set).pdf

    Java集合框架主要包括Collection、List、Set、Map四个接口,它们分别实现了不同的数据结构。 Collection接口是Java集合框架的顶层接口,它定义了基本的集合操作,如add、remove、contains等。Collection接口有两个...

    JAVA集合(List,Set,Map)

    ### JAVA集合(List, Set, Map)详解 #### 集合框架概述 Java集合框架是Java编程语言中处理数据组织的核心部分。它提供了一系列接口、抽象类和具体实现类,帮助开发者有效地管理对象集合。本篇文章将深入探讨集合框架...

    Java集合排序及java集合类详解(Collection、List、Map、Set)

    ### Java集合排序及java集合类详解(Collection、List、Map、Set) #### 集合框架概述 ##### 容器简介 在Java编程中,容器(Container)是指用来存储和管理对象的一种数据结构。随着应用程序复杂度的增加,简单地...

Global site tag (gtag.js) - Google Analytics