`
在下个路口
  • 浏览: 111198 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

java集合框架中几种集合的分析

阅读更多
      集合可以理解为在内存中存放一组对象的容器,对象是数据的封装,而对象又构成了集合。在java中的集合框架是一种线性的数据结构,但是它分为两种,一种是物理结构,一种是逻辑结构。物理结构是一种连续存储的结构,比如说数组;而逻辑结构可以理解为在内存块中是不连续的,比如说链表,一个链表是分为两中内容的,一个是该链表所存储的数据,还有一个呢,那就是指向下一个链表的指针,通过指针而把表给连起来,称之为链表。数组其实也是可以完成像集合一样的存储的,但是数组存在一定的弊端,数组一旦创建,其大小,类型是固定的,在特定的情况下不能更方便的使用,因此,为了与数组互补,集合也就应运而生了。
       在java.util包中存在三种最重要的集合,其分别是list,set,map,它们各自有各自的特点,这三种都是接口。其中list:1> list的实现类主要有ArrayList,Linkedlist及其Vector,list中存储的数据是有序的,而且也是可以重复的,也就是说list按照添加的顺序,依次的存储在list下标从小到大的位置。做一个简单的代码测试
  public class Test {
public static void main(String[] args) {
Test test = new Test();
                      test.testList();
                    public void testList(){//类
//创建一个List对象
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(1);
list.add(2);
                       for(Object a:list){
System.out.print(a+" ");
}

}
此段代码的运行结果为:{1 1 2}
  反应了其有序可重复的特点。
          2>set同样是一个接口,它常用的实现类有Hashset,Treeset。set集合的存储特点可以说是和list完全相反的,它是一种无序而且不能重复的存储特点。同样的用代码做一个测试 public class Test {
public static void main(String[] args) {
Test test = new Test();
test.testSet();
          public void testSet(){
//创建Set对象
Set<Integer> set = new HashSet<Integer>();
set.add(1);
set.add(2);
set.add(5);
set.add(3);
set.add(4);
set.add(1);
set.add(null);
System.out.println(set);

Iterator<Integer> it = set.iterator();
while(it.hasNext()){//判断有元素可迭代
int i = it.next();
System.out.print(i+" ");
                     }
}
              }
}    
     此段代码的运行结果是:{1 2 3 4 5}
      可以说明其无序不可重复的特点。
         3>最后则是map集合,map的实现类常用的有Hashmap,Hashtable和Treemap。
map与以上两者稍微的有点不同,它是一种映射关系,在map中,存储两种数据,表达为map<k,v>,而以上两者都只有一个数据,而且都是通过下标来访问的,map中k是不可以重复的,而v是可以重复的,进行一段代码测试
    public class Test{
    public static void main(String[] args){
         testmap test=new testmap();
          public void testMap(){

Map<Integer, String> map = new    HashMap<Integer,String>();
map.put(1, "aaa");
map.put(2, "bbb");
map.put(3,"ccc");
map.put(2, "ddd");

System.out.println(map);
//获取key集合(Set)
Set<Integer> set = map.keySet();
Iterator<Integer> it = set.iterator();
while(it.hasNext()){
int key = it.next();
//通过key获取对应的value值
String value = map.get(key);
System.out.println("key="+key+"  value="+value);
}
     }
}
}
     此段代码的运行结果是:key=1 value=aaa;key=2 value=ddd;key=3 value=ccc。
   这三种集合各有其所试用的地方,对于像我这种初学者可以让整个代码简化,思路更清晰。
        二:获得各种数据存储方式长度的方法。
       数组:定义一个数组Array[];那么获得该数组长度的方法是使用其length属性。
       字符串: String st = "aaa";
st.length();
                 这里的length是字符串的一种方法,而数组的length是一种属性。
        List:迭代或者直接通过下标输出,list.size()   
       set:迭代while(it.hasNext()){//判断有元素可迭代
int i = it.next();
System.out.print(i+" ");
                     }
        map:只能用迭代的方法,
                     //获取key集合(Set)
Set<Integer> set = map.keySet();
Iterator<Integer> it = set.iterator();
while(it.hasNext()){
int key = it.next();
//通过key获取对应的value值
String value = map.get(key);
System.out.println("key="+key+"  value="+value);
}
             map先是通过迭代器先得到key值,因为是一种一一对应的关系,所以用key值就可以得到value值了。
分享到:
评论
4 楼 在下个路口 2013-08-26  

好的,非常感谢!
3 楼 kjmmlzq19851226 2013-08-26  
在下个路口 写道
对对对,我写反了,从字符串的.length(),带了()就知道了它是一种方法了。

只能算手误 说得还是比较清楚了,如果再加上对Collection的分析可能更佳。
2 楼 在下个路口 2013-08-24  
对对对,我写反了,从字符串的.length(),带了()就知道了它是一种方法了。
1 楼 kjmmlzq19851226 2013-08-06  
字符串的length是method,数组的length是property吧

相关推荐

    Java集合框架总结

    Java集合框架的核心部分包括以下几类: - **集合接口**:主要包括`Collection`、`Set`、`List`和`Map`等接口。 - **抽象类**:提供了部分接口的默认实现,如`AbstractCollection`、`AbstractList`、`AbstractSet`和...

    java集合框架全面进阶.pdf

    Java集合框架中的几个关键组件包括: 1. **Set接口**:Set集合是一种不允许包含重复元素的集合。实现Set接口的类有HashSet、TreeSet等。HashSet基于HashMap实现,而TreeSet基于红黑树实现。HashSet在元素的插入和...

    Java集合框架常见面试题夜间阅读版.pdf

    Java集合框架主要包括以下几种核心接口:`Collection`、`List`、`Set`、`Map`以及`Queue`等。这些接口定义了一组用于处理不同类型的集合对象的方法。 ### Collection接口 `Collection`接口是Java集合框架中最基本...

    第03章.java集合框架.ppt

    Java 集合框架由以下几个主要部分组成: 1. Collection 接口:是集合框架的核心接口,定义了集合的基本操作,例如 add、remove、contains 等。 2. Map 接口:是集合框架中的一种特殊的集合,用于存储键值对的数据。...

    java集合框架系统剖析

    Java集合框架的核心在于它的接口设计,主要包括以下几种: 1. **`Collection`接口**: - 这是集合框架中最基础的接口之一,用于表示可以容纳多个对象的容器。`Collection`接口提供了一组通用的操作方法,如增加、...

    详解java集合框架

    ### 详解Java集合框架 #### 一、Java集合框架概览 Java集合框架是一个高度抽象化的数据结构系统,它提供了一系列接口、抽象类以及具体的实现类来帮助开发者管理和操作对象集合。通过理解这些核心概念,我们可以...

    浅谈java集合框架

    ### 浅谈Java集合框架 Java集合框架是一个用于存储、操作和检索一组对象的强大工具集。集合框架的设计目的是为了提供一套高效且灵活的数据结构来满足不同的应用需求。本篇文章将详细探讨Java集合框架中的一些核心...

    java 集合框架

    ### Java集合框架详解 #### 一、集合框架概览 Java集合框架是Java编程语言中的一个核心组成部分,它提供了一系列接口和实现类,用于存储和操作数据集合。无论是日常的Java SE应用程序还是复杂的Java EE企业级应用...

    Java面试资料之Java集合框架

    ### Java集合框架与链表详解 #### Java集合框架概述 Java集合框架是Java标准库的重要组成部分,它提供了用于存储和操纵对象的各种接口和类。这些接口和类支持各种不同的数据结构,例如列表、集和映射等。Java集合...

    java集合详解.pdf

    Java 集合框架是 Java 语言中最重要的一部分,掌握集合框架可以让开发者更好地进行 Java 编程。下面将详细介绍 Java 集合框架的实现原理和使用方法。 1.1 集合框架概述 Java 集合框架是 Java 语言中用于存储和操作...

    Java 2集合框架

    - **描述**:`Iterator`接口提供了一种遍历集合的方式,它定义了几个基本方法来获取集合中的下一个元素,并允许在迭代过程中安全地删除元素。 - **常用方法**: - `boolean hasNext()`:检查是否还有更多的元素。 ...

    Java集合框架[汇编].pdf

    Java集合框架的核心是几个主要接口,包括Collection、List、Set和Map。Collection是最基础的接口,它是所有集合类的父接口。List和Set接口继承自Collection,分别代表有序可重复元素的集合和无序不重复元素的集合。...

    深入Java集合学习系列

    ArrayList是Java集合框架中的一种线性数据结构,属于List接口的实现类。它的底层实现是一个动态增长的数组,因此在ArrayList中,元素的位置是有序的。ArrayList的主要优点是随机访问快速,因为通过索引可以直接获取...

    java集合框架

    ### Java集合框架详解 #### 一、Java集合框架概述 Java集合框架是Java标准库的一部分,它提供了一系列的接口和实现这些接口的类,用于存储和操作数据集合。集合框架的设计目的是为了提供一种灵活且高效的机制来...

    使用Java集合框架实现一个简单的购物车.txt

    通过使用Java集合框架中的 `HashMap` 实现了一个简单的购物车类,该类可以有效地管理商品及其数量。这种方法不仅简化了代码结构,还提高了程序的可维护性和扩展性。此外,通过异常处理机制,可以更好地控制用户输入...

    易语言仿java集合 list map源码

    本主题聚焦于易语言中的面向对象编程,特别是模仿Java集合框架的List和Map接口的实现。这些数据结构在编程中扮演着核心角色,用于组织和管理数据。 首先,让我们深入了解易语言的面向对象编程概念。面向对象编程...

    Java集合详解,详细讲解java的集合类

    Java集合框架是Java编程语言中的核心部分,它提供了一种高效、灵活的方式来组织和操作对象的集合。在Java中,集合主要分为两大类:Collection和Map。本文将深入讲解Java集合类,特别是Collection接口和其下的List、...

Global site tag (gtag.js) - Google Analytics