`
fancaiwen
  • 浏览: 3712 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

数据结构之集合框架

 
阅读更多

    数据结构是数据及其相互之间的联系(逻辑关系),通常概括为集合结构,线性结构,树形结构,图型结构。

   通常采用二元组表示:B=(K,R),B为一种数据结构,它由数据元素的集合K和K上二元关系的集合R所组成。当中:

                                      K={ki|i>=1&&i<=n,n>=0}

                                      R={rj|j>=1&&j<=m,m>=0}

ki(rj)为集合K(R)中的第i(j)个数据元素,n(m)为K(R)中数据元素的个数,

    集合结构:当n!=0,m=0时数据结构为集合结构,此时数据结构中只存在元素的集合,不存在有关系的集合。

    线性结构:元素间存在一对一的关系称为线性结构。常见类型:数组,队列,链表,栈。

    树形结构:元素间存在一对多的关系称为树形结构。常见类型:树(如:哈夫曼树)

    图形结构:元素间存在多对多的关系称为图形结构。

这里先讲一下集合框架

常用的集合有三种:

 1.Set(集合),特点为无序,不可重复,继承了Collection接口。

   Set接口常用的子类:HashSet ,TreeSet

   以HashSet为例

public void testSet(){
		HashSet<String> set = new HashSet<String>();
                //添加数据
		for(int i=0; i < 10; i++){
			String s = "str"+i;
			set.add(s);
		}
		
		//遍历,打印数据
		Iterator<String> it = set.iterator();
		while(it.hasNext()){
			//取下一个数据
			String str = it.next();
			System.out.println(str);
		}
		
		//迭代循环for遍历
		for(String s : set){
			System.out.println(s);
		}
		
		set.remove("");//删除数据
		set.contains("");//判断制定元素是否存在
		set.clear();//清空数据
		set.isEmpty();//若集合为空返回true
			
}

 

 2.List(列表:数组和向量,链表,堆栈,队列),特点为可重复,其对象以线性   方式存储,无特定顺序,只有一个开头和一个结尾,继承了Collection接口。

  List接口常用的子类:ArrayList、LinkedList、Vector 

    以ArrayList为例

public void testList(){
		//创建一个数组队列,泛型
		ArrayList<String> list = new ArrayList<String>();
		
		//往队列中添加10个字符串数据
		for(int i=0; i<10; i++){
			list.add("str"+i);
		}
		
		//删除一条数据并且返回被删除的数据
		String s = list.remove(5);
		System.out.println("被删除的数据:"+s);
		
		list.add(2, "添加到第二个");
		//查找,返回被查找的数据对应的位置
		int pos = list.indexOf("str3");
		System.out.println("查找结果:"+pos);

        	//替换
		list.set(1, "1111");
	
		//遍历打印
		for(int i=0; i<list.size(); i++){
			String str = list.get(i);
			System.out.println(str);
		}
		//也可用
		for(String ss : list){
			System.out.println(ss);
		}
}

 

 3.Map(映射),存放两个对象,key与value,二者一一对应。

   Map接口常用的子类:HashMap,HashTable,TreeMap

   以HashaMap为例

   

public void testMap(){
		HashMap<String, String> map = new HashMap<String, String>();
		
		//存放,value可相同
		map.put("111", "张三");
		map.put("222", "李四");
		map.put("111", "王五");
		
		//删除key对应的数据,并且返回对应的value
		map.remove("111");
		
		//根据key值查找value
		String name = map.get("222");
		System.out.println(name);
		
		//遍历方法1,相同的value都可以打印
		Set<String> keySet = map.keySet();
		for(String key : keySet){
			System.out.println("key="+key);
			System.out.println("value="+map.get(key));
		}
		//遍历方法2,相同的value都可以打印
		Set<Entry<String,String>> entrySet = map.entrySet();
		for(Entry<String,String> entry : entrySet){
			System.out.println("key="+entry.getKey());
			System.out.println("value="+entry.getValue());
		}
		//遍历方法3,只打印相同value的最后一个
		Collection<String> values = map.values();
		for(String value : values){
			System.out.println("value="+value);
		}
}

 

 

  

 

分享到:
评论

相关推荐

    java数据结构及集合框架

    java数据结构及集合框架

    数据结构和Java集合框架

    数据结构和Java集合框架是Java编程中至关重要的概念,它们是高效编程和算法设计的基础。在Java中,数据结构指的是组织、存储和管理数据的方式,而集合框架则是一组接口和类,为处理各种数据结构提供了统一的API。 ...

    数据结构和Java集合框架源代码

    《数据结构和Java集合框架》是清华大学出版社出版的一本经典教材,主要涵盖了计算机科学中的核心概念——数据结构以及Java编程语言中的集合框架。这本书通过深入浅出的方式,讲解了如何用Java实现各种常用的数据结构...

    数据结构和Java集合框架.part2.rar

    《数据结构和java集合框架》(Data Structures and the Java Collections Frameword)[美]William J.Collins 著 高清PDF格式[共2个压缩包】 第2个

    数据结构和java集合框架[美]William J.Collins 著

    《数据结构和java集合框架》(Data Structures and the Java Collections Frameword)[美]William J.Collins 著 高清PDF格式 【共4个压缩包】 第1个

    [数据结构和Java集合框架]源代码

    数据结构和Java集合框架是Java编程中的核心概念,它们对于高效地存储和处理数据至关重要。在Java中,集合框架提供了一系列接口和类,用于管理和操作对象的集合,而数据结构则是这些操作背后的理论基础。 首先,我们...

    数据结构和Java集合框架(英文版)

    学生通过学习方法描述和应用,可以逐步理解并有效地使用数据结构,还可以了解这些数据结构的多种实现,包括在java集合框架中提供的一些实现。.  本书内容丰富,且在每章章尾提供编程项目,以帮助学生提高实践能力。...

    数据结构和Java集合框架.part2

    学生通过学习方法描述和应用,可以逐步理解并有效地使用数据结构,还可以了解这些数据结构的多种实现,包括在Java集合框架中提供的一些实现。 本书内容非常丰富,且在每章章尾提供编程项目,以帮助学生提高实践能力...

    数据结构和Java集合框架.part1.rar

    《数据结构和java集合框架》(Data Structures and the Java Collections Frameword)[美]William J.Collins 著 高清PDF格式[总两部分,part1]

    Java数据结构和Java集合框架

    Java数据结构和Java集合框架

    数据结构和Java集合框架《Data Structures and the Java Collections Framework》

    数据结构和Java集合框架是Java开发中的核心概念,它们对于高效地存储和处理数据至关重要。在Java编程中,集合框架是一组接口和类,提供了一种标准的方式来组织和操作对象的集合。本资源《Data Structures and the ...

    集合框架学习笔记

    集合框架是Java编程语言中的核心组成部分,它提供了一套高效、灵活的数据结构和算法操作,使得程序员能够方便地存储和管理对象。这篇学习笔记将深入探讨Java集合框架的基础概念、主要类库以及常见应用场景。 首先,...

    数据结构和Java集合框架 英文版 第三版

    ### 数据结构与Java集合框架知识点概述 #### 一、数据结构基础 1. **定义**: - 数据结构是计算机科学中的一个基本概念,指在计算机中存储、组织数据的方式。 - 它不仅涉及数据如何存储,还包括数据之间如何关联...

    数据结构和Java集合框架说课稿.doc

    《数据结构和Java集合框架》是一门针对软件技术(Java Web方向)专业的重要专业基础课,同时也是核心课程。这门课程旨在深入探讨非数值计算的程序设计问题,特别是关注数据、它们之间的关系(结构)以及处理数据的...

    数据结构和Java集合框架.part1

    学生通过学习方法描述和应用,可以逐步理解并有效地使用数据结构,还可以了解这些数据结构的多种实现,包括在Java集合框架中提供的一些实现。 本书内容非常丰富,且在每章章尾提供编程项目,以帮助学生提高实践能力...

    数据结构 (STL框架)(Part 2)

    全书共分16章,涵盖 CC2005 课程体系中有关算法与数据结构、知识结构和体系的重要内容,包括算法与数据结构引论、向量、双端队列、表、栈和队列、排序与选择、树、二叉搜索树、平衡搜索树、集合、映射、堆与优先队列...

Global site tag (gtag.js) - Google Analytics