1. 一、集合与数组
集合的长度是可变的,用来存放对象的引用;数组的长度是固定,用来存放基本类型。
2. 二、Java集合类的继承关系
三、List、Map、Set集合的分析
3. 1.List集合:包括所有List接口与List所有实现类,集合中元素可重复,各元素的顺序就是插入的顺序。
使用List接口:先声明为List类型,然后对集合进行实例化,List接口常用的实现类有:ArrayList与LinkList
如:List<String> list=new ArrayList<String>();
2 .Set集合:将对象不按顺序,只是简单加入集合中,且不能包含重复的对象。
使用Set接口:先声明为Set类型,然后对集合进行实例化,Set接口常用的实现类:HashSet与TreeSet类。如: Set<String> set=new HashSet<String>();
3.Map集合:没有继承Collection接口,提供的是key与value映射,且不能包含相同的key值,key与value是一对一映射。
使用Map接口:先声明为Map类型,然后对集合进行实例化,Map接口常用的实现类:HashMap与TreeMap类。如:Map map=new HashMap<String,String>()
获取指定的key与value值,先通过相应方法获取Key或value集合,在从集合中变量指定的值
四、List,Set,Map的区别
接口 |
是否有序 |
能否充许元素重复 |
|
Collection |
否 |
能 |
|
List |
实现类 |
是 |
能 |
ArrayList |
|||
LinkedList |
|||
Vector |
|||
Set |
实现类 |
否 |
否 |
HashSet |
|||
TreeSet |
|||
Map |
实现类 |
|
使用Key-Value键值对关系存储数据,Key是唯一的,Value可重复 |
HashMap |
|||
TreeMap |
|||
HashTable |
五遍历Map集合的三种方式:
package com.collection; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; public class MapTest { public static void main(String[] args) { Map m=new HashMap(); m.put("111", new Person(1,"zs")); m.put("222",new Person(2,"ls")); m.put("333", new Person(3,"ww")); System.out.println(m.size()); Person p=(Person) m.get("333"); System.out.println(p); m.remove("333"); System.out.println(m); //三种遍历方式:Set value entryset System.out.println("遍历一:"); Set keyset=m.keySet();//取得所有set的集合 Iterator it=keyset.iterator(); while(it.hasNext()){ String s=(String) it.next(); System.out.println(s+"="+m.get(s)); } System.out.println("遍历二:"); Collection value=m.values();//取得所collection的集合 for(Iterator its=value.iterator();its.hasNext();){ Person person=(Person) its.next(); System.out.println(person); } System.out.println("遍历三:"); Set entry=m.entrySet(); for(Iterator ite=entry.iterator();ite.hasNext();){ Map.Entry ms = ( Map.Entry)ite.next(); System.out.println(ms.getKey()+"="+ms.getValue()); } } }
相关推荐
在LL1分析中,First集合和Follow集合扮演了关键角色。 First集合是文法中每个非终结符可能生成的第一个符号的集合。例如,对于非终结符A,First(A)包含了从A出发的所有产生式所能生成的第一个符号。如果一个产生式...
常见的集合运算包括交集(两个集合共有的元素构成的新集合)、并集(两个集合所有元素构成的新集合)以及差集(一个集合去除另一个集合中的元素后剩下的元素构成的新集合)。 ### 二、程序代码分析 #### 1. 数据...
集合论是数学的一个基础分支,它研究对象的集合以及集合之间的关系、运算和性质等。公理集合论是在19世纪末至20世纪初逐渐发展起来的一个数学理论,通过一组公理来规定集合的概念和集合间的基本关系,以避免出现像...
该程序旨在提供一个平台,可以进行集合的基本运算,包括集合的并、交、差运算,以及元素判定、子集判定和求补集的功能。以下是项目的详细分析、设计和实现过程。 1. 绪论: 集合论是数学的基础概念之一,它在计算机...
文章目录集合覆盖问题州集合,电台字典电台选择 集合覆盖问题 覆盖问题要求不会重复——采用set() 假设你要办一个广播电台,要让所有的8个州都听到,你要选择广播电台,如何选择尽可能少的广播电台 州集合,...
根据提供的文件信息,这里主要涉及的是“集合论基础”这一数学领域的知识点。虽然部分内容并未给出具体章节或细节,但基于标题、描述以及标签中的信息,我们可以推断出这份文档大概会涵盖集合论的基础概念与原理。...
1.编制一个能演示执行集合的并、交和差运算的程序。 2.集合的元素限定为小写字母符[′a′….′z ′],集合的大小n。 3.集合输入的形式为一个以"回车符"为结束标志的字符串,串中字符顺序不限,且允许出现重复字符或...
本文将详细讲解C++编程中集合类的实现,包括集合类的定义、添加元素、删除元素、判断集合是否为空或满、判断元素是否包含在集合中、计算集合中的元素总数、输出集合中的元素、求两个集合的交集和并集等操作。...
试写一个递归算法实现求一个集合的所有子集。 算法设计: 给定一个非空的集合,用递归算法输出它的所有子集。 数据输入: 由文件input.txt 提供输入数据。文件第1行是集合中的元素个数,第2行是集合的元素序列(元素...
集合论是数学的一个基础分支,由德国数学家乔治·康托(Georg Cantor)于十九世纪后期提出,它的诞生与数学的无穷概念密切相关。集合论的出现为数学带来了根本性的变革,使得无穷的概念不再是仅仅属于哲学和神学的...
字典和集合综合案例;遍历字典中所有的“键-值”对需要用到items()方法,该方法以列表形式返回可遍历的“(键,值)”元组。;当不需要使用字典中的值时,可使用keys()方法只遍历字典中的键,该方法以列表返回一个字典中...
【实验目的】掌握用计算机求集合的交、并、差和补运算的方法。 【实验内容】编程实现集合的交、并、差和补运算。 【实验原理和方法】 (1)用数组A,B,C,E表示集合。输入数组A,B,E(全集),输入数据时要求检查...
### 解决WinForm设置 DataSource 属性后无法修改项集合 #### 背景与问题描述 在使用Windows Forms(简称WinForm)开发应用程序时,经常会遇到需要动态更新控件(如 ComboBox、ListBox 或 CheckBoxList)数据的情况...
这篇文档是关于一个数据结构课程设计项目,目标是创建一个程序来演示集合的并、交和差运算。项目的关键在于理解和实现集合的概念以及相关的运算,同时利用数据结构,特别是有序链表来存储和操作集合。 首先,集合的...
集合幂级数是一种在数学尤其是组合数学领域中,通过对集合进行操作来扩展传统数列和幂级数概念的工具。幂级数通常是在分析学中研究函数的无穷和,而集合幂级数则将这一概念应用在了集合上,通过集合的并、交、差等...
本课程设计的主题——“集合运算”,聚焦于集合理论在编程中的实际运用,旨在提升学生的算法设计和问题解决能力。在这个设计中,我们将探讨如何利用各种数据结构实现集合的基本操作,如并集、交集、差集等。 首先,...
公理集合论(axiomatic set theory)是数理逻辑的主要分支之一,是用公理化方法重建(朴素) 集合论的研究以及集合论的元数学和集合论的新的公理的研究。 19世纪70年代,德国数学家G.康托尔给出了一个比较完整的集合论...
LL(1)文法求First和Follow集合 LL(1)文法是编译原理中一种常用的文法分析方法,主要用来解决左递归和左因子问题。First集合和Follow集合是LL(1)文法中的两个重要概念。 First集合是指对于给定的文法符号串,可以在...