1. Set(集合)里面的元素是无序的,但没有重复的元素 2. 两个实现类HashSet(LinkHashSet)和TreeSet,TreeSet有排序功能(Set set=new TreeSet();set.add(new Integer(8)); set.add(new Integer(4)); set.add(new Integer(7));)输出后的结果是:4 7 8 Eg: package test; import java.util.*; public class Set{ public static void main(String[] args) { //先实例化一个set Set<String> stringSet=new HashSet<String>(); //向set里面添加元素 stringSet.add("123"); stringSet.add("wer"); stringSet.add("345"); //将set里的元素取出 Iterator<String> stringIter=stringSet.iterator(); while(stringIter.hasNext()){ String str=stringIter.next(); System.out.println(str); System.out.println("~~~~~~~~~~~"); } System.out.println("stringSet里面有"+stringSet.size()+"元素"); } } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2.List(列表<接口>)以线性方式存储,有序,允许重复主要实现类有LinkList(采用链表数据结构)和ArrayList(代表可大可小的数组) Eg: package test; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; public class Map { public static void main(String[] args) { List list=new ArrayList(); list.add(10); list.add(2); list.add(34); //对list数组进行自然排序 Collections.sort(list); //依次检索输出list的所有对象 // for(int i=0;i<list.size();i++){ // System.out.println(list.get(i)); // } Iterator Iter=list.iterator(); while(Iter.hasNext()){ System.out.println(Iter.next()); } } } 3.Map(映射<集合>)是无序的,是一种把键对象和值对象进行映射的集合,它每一个元素都包含一对键对象和值对象,给出键对象就可以得到值对象,键对象不允许重复,对值没有要求,多个任意键对象可以映射到一个值对象上;如果有相同键对象,最后一次加入的键对象和值对象将会覆盖以前的; Eg: package test; import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.TreeMap; public class NewMap { public static void main(String[] args) { //向map里添加键值对 //如果要对键进行排序Map map=new TreeMap(); Map<Integer,String> map=new TreeMap<Integer,String>(); //Map map=new HashMap(); map.put(1, "yi"); map.put(23, "er"); map.put(12, "san"); map.put(3, "si"); //遍历map Set keys=map.keySet(); Iterator<Integer> stringIter=keys.iterator(); while(stringIter.hasNext()){ int key=stringIter.next(); String value=(String) map.get(key);//根据键key得到value的值 System.out.println(key+"---"+value); } } } 在Java编程语言中,集合框架是处理对象的重要工具,其中包括Set、List和Map三大接口。这些接口提供了多种数据结构和操作方法,使得开发者能够高效地组织和管理数据。 1. **Set接口**: Set接口表示一个不包含重复元素的集合。在Java中,Set接口的主要实现类有HashSet和TreeSet。 - **HashSet**:基于哈希表实现,不保证元素的顺序,插入元素时不会进行排序,允许null元素。 - **TreeSet**:基于红黑树数据结构,元素按照自然排序或自定义比较器进行排序,不允许null元素。如示例代码所示,当使用TreeSet时,插入的元素会自动排序,例如`set.add(new Integer(8)); set.add(new Integer(4)); set.add(new Integer(7));`的输出结果为4 7 8。 使用Set接口的示例代码展示了如何创建一个HashSet,并通过迭代器遍历并打印Set中的元素。 2. **List接口**: List接口是有序的集合,允许包含重复元素。其主要实现类有LinkedList和ArrayList。 - **LinkedList**:基于链表结构,适用于频繁的插入和删除操作,但随机访问效率较低。 - **ArrayList**:基于动态数组,随机访问快速,但在插入和删除元素时可能需要移动大量元素,效率相对较低。 示例代码展示了如何创建一个ArrayList,添加元素,然后使用Collections.sort()方法进行自然排序,最后通过迭代器遍历并打印排序后的List元素。 3. **Map接口**: Map接口是一个键值对的集合,其中每个元素都由一个键对象和一个值对象组成。键是唯一的,而值可以重复。Map接口的主要实现类有HashMap和TreeMap。 - **HashMap**:基于哈希表,无序且不保证元素的顺序,允许null键和null值。 - **TreeMap**:基于红黑树,元素按照键的自然排序或自定义比较器进行排序,不允许null键,但允许null值。 在示例代码中,展示了如何创建一个TreeMap,插入键值对,并通过keySet()获取键的集合,然后遍历键集合以获取对应的值。 在实际应用中,选择哪种集合接口和实现类取决于具体的需求,例如是否需要排序、查找速度、内存占用等因素。理解这些接口和实现类的特性,可以帮助我们更有效地使用Java集合框架。




















- 粉丝: 1
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于C的网络军棋设计说明.doc
- 酒店经营管理思路浅述.doc
- 加气块砌筑劳务分包合同.doc
- 基于人工智能实现简单图像识别基础教程
- 建材企业网站策划方案.doc
- 国家开放大学电大《关系营销》网络课判断题题库及答案.docx
- 互联网大健康专家讲座.pptx
- 股指期货投资报告.doc
- 计算机科学与编程导论课程设计参考题目及要求.doc
- 年级主任岗位职责.doc
- 天然防腐剂研究现状综述.docx
- CO-060成本核算.doc
- 秋季幼儿园园务工作计划3.doc
- 基于单片机的恒温箱温度控制系统毕业论文带pid控制.doc
- 基于EAI模式的银行应用系统集成------.pdf
- 物业公司客户服务部主管岗位职责.doc


