`

java 容器

    博客分类:
  • Java
 
阅读更多
java中 List类及其子类转换成数组

e.g. List中盛放 SomeClass 对象
两个方法
1. toArray() 返回 Object[],无法强制转换成 SomeClass[],Object[]和SomeClass[]均是Object子类,想要转换,就必须对SomeClass[]中每个元素依次转换
     Object[] o= new Object[2]; 
    o[0]= "1 "; 
    o[1]= "2 "; 
    String[] ss = new String[2];
    ss[0] = (String)o[0];
    ss[1] = (String)o[1];


2.
SomeClass[] sc = null;
   sc = List.toArray(new SomeClass[List.size()]);

   含义,先创建一个大小为List容量的SomeClass[],通过toArray(),将里面的对象全部复制到SomeClass[]中,然后用sc指向这个新创建的SomeClass[]
    根据java源码
   
public Object[] toArray(Object a[]){ 
                if(a.length   <   size) 
                   a = (Object[])java.lang.reflect.Array.newInstance( 
                        a.getClass().getComponentType(), size); 
                System.arraycopy(elementData,0,a, 0, size); 
                if(a.length > size) 
                   a[size] = null; 
                return a; 
    } 


    如果看api仍然看不懂,建议看源码,自己学习分析,不要动不动就要google,先自己分析,再来求教他人。


容器存放内容
     如果容器中盛放类,数组,存放的实际上是引用,而非值。如果是基本类型,如整型,String等,则为值。
     在ArrayList, HashMap中多次犯错
e.g.  
HashMap<String[], Integer> map = new HashMap<String[], Integer>();
       for i ... {
           String[] strs = new String[3];    1
           map.put(strs, i);
       }

       语句 1 不能放在 for 外面,debug的时候,发现,HashMap中,存储的是 strs 地址,如果放在外面,则整个过程中,HashMap只有一组 key-value,HashMap 存储的内容一直未变。


3. 增加或删除容器元素
    通过遍历容器来增删元素时,要注意修改索引值,根据api,增加或删除后,该元素之后的所有元素都会发生变化,索引值均加1或减1
e.g.   
for(int i = 0; i < List.size(); i++) {
            if (some condition) {
                List.remove(i);
                i--;
            }
        }
分享到:
评论

相关推荐

    java容器详细解析

    Java容器详细解析 Java容器是一种基本的数据结构,用于存储和管理对象。Java容器主要分为两大类:Collection和Map。 Collection Collection是一个独立元素的序列,这些元素都服从一条或多条规则。Collection接口...

    Java容器总结

    在IT领域,Java容器是一个非常重要的概念,尤其对于软件开发者来说,它们是理解和构建高效、可扩展的应用程序的关键。本文将深入探讨Java容器,并结合标签“源码”和“工具”,从源码层面和实用工具角度来分析这些...

    java容器学习心得

    ### Java容器学习心得详解 在Java编程中,容器(Containers)是存储和操作对象集合的重要工具,主要包括集合(Collections)和映射(Maps)。本文将深入解析Java容器的关键概念、特性以及不同容器类型的应用场景。 ...

    JAVA容器对象整理

    这篇博客"JAVA容器对象整理"可能涵盖了关于Java中的不同容器类、接口以及它们的使用方式。在这里,我们将深入探讨一些核心的Java容器知识点。 1. **ArrayList与LinkedList** - `ArrayList`是一个基于数组实现的...

    Java 容器.pdf_电子版pdf版

    Java 容器详解 Java 容器是 Java 语言中的一种集合类库,主要包括 Collection 和 Map 两种类型。Collection 存储着对象的集合,而 Map 存储着键值对(两个对象)的映射表。 Collection Collection 是一种集合接口...

    java容器类 是初学者很好的学习材料

    Java容器类是Java编程语言中不可或缺的一部分,它们主要用于存储和管理对象。这些类和接口位于`java.util`包中,为开发者提供了灵活的数据结构和数据操作方式。在Java中,容器类主要分为两大类:Collection和Map。 ...

    JAVA容器效率深度分析List

    在Java编程中,容器是用于...总之,理解并掌握这些Java容器的特性和效率差异,能够帮助我们在实际开发中做出更合适的选择,提高程序的性能和可维护性。在具体应用时,还需要结合业务需求和性能测试,才能做出最佳决策。

    Java容器有两种基本类型Collection 和 Map

    Java 容器的两种基本类型:Collection 和 Map Collection 和 Map 是 Java 中的两种基本容器类型,它们都可以用来存储和管理对象,但它们有着不同的特点和用途。 Collection 是一种聚集对象的容器,每个位置只能...

    JAVA容器讲解.pdf

    Java容器讲解PPT,Collection Map(HashMap TreeMap LinkedHashMap) List (ArrayList LinkedList Vector) Set (HashSet TreeSet LinkedHashSet)

    JAVA容器知识积累

    Java容器是Java编程中至关重要的一个部分,它们用于存储、管理和操作对象集合。在这个主题下,我们将深入探讨Java中的核心容器类,包括数组、List、Set和Map,以及它们各自的特点和使用场景。 1. **数组**:数组是...

    Java容器实现图书管理

    题目摘要:考虑下列的信息系统。出版社需要记录下列书籍和作者的信息: P1: 每一本书有一个title,一个description和一个ISBN number 还有 出版的日期(包括年/月) P2: 每一本书有1个或多个作者。...

    Java容器起源

    ### Java容器起源与JSP容器背景解析 #### 容器技术概述 容器技术在现代IT领域扮演着极其重要的角色,特别是在云计算和微服务架构中。本文将深入探讨容器技术的起源,尤其是针对Java环境中JSP容器的发展历程及其...

    JAVA容器归纳总结_01版.mmap

    对于java容器的一些归纳整理,顺着思维导图能方便自己的理解,提高运用能力

    JAVA 容器用法详解

    JAVA 容器用法详解,关于JAVA容器的详细讲解

    Java容器简要介绍

    Java容器是Java编程中不可或缺的一部分,它们主要用于存储和管理对象,提供了一种高效且灵活的方式来组织和操作数据。本文将简要介绍Java容器的主要概念、API以及常用的容器类。 首先,Java容器分为两大主要类别:...

    JAVA 容器类应用

    Java容器类是Java集合框架的重要组成部分,它们提供了一种存储、管理和操作对象的方式。在Java中,容器类包括数组、列表、队列、集、映射等数据结构,它们为开发者提供了灵活的数据处理能力。本篇文章将深入探讨Java...

    java容器

    Java容器是Java编程中一个非常重要的概念,它主要用于管理和组织对象。在Java中,容器可以是集合、框架或服务提供者等,它们为其他对象提供存储、管理以及生命周期控制等功能。容器广泛应用于企业级开发,尤其是在...

    JAVA容器总结

    后缀为.mmap的思维导图,总结了JAVA容器的常见类

    java容器介绍及应用

    Java容器是Java编程中至关重要的部分,它们是用于存储、管理和操作对象的工具。Java集合框架,包括List、Set、Map、ArrayList、LinkedList等,构成了Java容器的主要元素。以下是对这些概念的详细解释: 1. **集合...

    Java容器学习笔记:容器概览,容器中的设计模式,容器源码分析 - List,容器源码分析 - Map,容器源码分析 - 并发容

    Java容器学习笔记: 容器概览, 容器中的设计模式, 容器源码分析 - List, 容器源码分析 - Map, 容器源码分析 - 并发容 Java是一种面向对象的编程语言,由Sun Microsystems于1995年推出。它是一种跨平台的语言,...

Global site tag (gtag.js) - Google Analytics