Set 无序不重复 实现类HashSet
SortedSet 按大小有序不重复 实现类TreeSet
Llist按位置有序 (产生位置索引由此可重复)
实现类ArrayList(队列管理)查询效率高;LinkedList(链表)增删改效率高
当以上容器接口存放了自定义类对象时要求自定义类
set
重写equals()方法 实现comparable接口 重写equals() 重写equals()
和hashCode()方法 重写compareto()
1、 与List接口相关的容器java为其提供了操作的工具类Collections 如:
1) sort()方法,排序
//对alist容器中的所有元素由小到大排序Collections.sort( alist );
2)binarysearch()方法//使用该方法有个前提: 容器的元素必须先排序,后查找。
int loc = Collections.binarySearch(alist, key);
//采用二分查找法,在alist容器中查找key元素。若存在,则反馈它的位置;反之,则反馈一个负数。
3)//对alist容器中的所有元素进行随机排序(随机打乱它们的位置)
Collections.shuffle( alist );
4) //对alist容器中的所有元素进行逆序排列(头变尾,尾变头)
Collections.reverse( alist );
5)//对alist容器中的所有元素进行替换为指定的元素。
Collections.fill(alist, "Hello");//把所有元素替换为Hello
和遍历操作的接口ListIterator:正向遍历listIterator() ;逆向遍历listIterator(int n)
2、Java5.0新增特性泛型:为容器贴上标签明确其存储类型(提高了编程效率和准确性)
如List<String> list = new ArrayList<String>();
Map接口的特性及其常用实现类:
5) 它的常用实现类为: HashMap
HashMap的特性:
1) 元素由键和值构成。
2) 元素的键是唯一的,不重复。
3) 元素是无序的。即: 元素没有按键排序。
4) 元素不重复。当添加重复的元素时,会采用覆盖技术。
5) 当元素键为自定义类的对象时,则该类中必须重写equals()和hashCode()两个方法。
Map接口的子接口为: SortedMap
SortedMap接口的特性及其实现类为: TreeMap.
结论: 当元素的键为自定义类的对象时,则该类必须实现Comparable接口,
重写compareTo()方法;同时,在重写方法时尽量对对象的所有属性比较大小。
最后 集合与数组
集合容器可大可小 数组必须指定长度
其次存放类型
集合与数组之间可以相互转换如:
int[] a = { 1, 2, 3 };
List list = Arrays.asList(a);等等…
集合遍历
Map遍历三种方式
1. map.keySet() 获得键,由键得到value值
2. map.values()直接获得值
3. map.entrySet() 这种方式效率最高!!
public void test2() throws Exception {
HashMap< String, String> map = new HashMap<String, String>();
for (int i = 0; i < 100; i++) {
map.put(""+i," hello");
}
//方法一:keySet
/*Iterator<String> it = map.keySet().iterator();
while(it.hasNext()){
String key = it.next();
String value = map.get(key);
System.out.println(value);
}*/
/*for(String item:map.keySet()){
System.out.print(item+"\t");
String value = map.get(item);
System.out.println(value);
}*/
//方法二:entrySet()
// Iterator it = map.entrySet().iterator();
// while(it.hasNext()){
// Map.Entry entry = (Entry) it.next();
// String key = (String) entry.getKey();
// String value = (String) entry.getValue();
// System.out.print(key+"\t");
// System.out.println(value);
// }
// for(Map.Entry entry :map.entrySet()){
// String key = (String) entry.getKey();
// String value =(String) entry.getValue();
// System.out.print(key+"\t");
// System.out.println(value);
// }
//方法三: values()
for(String va :map.values()){
System.out.println(va);
}
}
- 大小: 65.8 KB
分享到:
相关推荐
集合总结ppt
集合总结及扩展1 本节内容总结了集合的继承体系、集合的接口、抽象类、具体类的概念,并详细介绍了Collection、Iterator、泛型、List、Set、Map等集合框架中的重要知识点。 1. 集合继承体系 集合继承体系中,接口...
这个“java集合总结副本共19页.pdf.zip”压缩包很可能是对Java集合框架的详细讲解,涵盖了重要的知识点,包括ArrayList、LinkedList、HashSet、HashMap、TreeSet、TreeMap等主要集合类,以及它们的特点、性能和应用...
Java集合总结 Java集合类是Java语言中的一种数据结构,用于存储和操作大量数据。Java集合类提供了多种实现,包括List、Set、Map等,用于解决不同的数据存储和操作问题。本文将从Java集合类的基本概念、Collection...
标题中的“python冒泡排序-16-集合总结”表明这是一个关于Python编程的教程,具体聚焦于冒泡排序算法和集合的综合应用。冒泡排序是计算机科学中最基础的排序算法之一,而集合在Python中则是一种无序、不重复元素序列...
本资源“ios各种手势使用集合总结”为初学者提供了一个良好的学习平台,帮助他们快速掌握iOS手势的运用。下面我们将详细探讨其中涉及的关键知识点。 1. **轻扫(Swipe Gestures)** - **UIPanGestureRecognizer**...
非常详细的集合总结图,可以让需要的朋友根据这个xmd好好复习
**高中数学必修一第一章集合总结** 集合是数学的基础概念之一,主要包含了以下几个知识点: 1. **集合的含义与表示** - **确定性**:集合中的元素是确定的,不存在模棱两可的情况。 - **互异性**:集合内的元素...
java集合总结.md
集合总结图!超详细!大神总结! 必下载资源!
"Java集合总结之Collection整体框架"用到的图片
集合总结 集合是一个容器,用于存储多个元素。在 Java 中,集合可以分为两大类:有顺序的集合(List)和无顺序的集合(Set)。本文将对集合的基本概念、种类、方法和迭代器进行总结。 集合的基本概念 集合是一个...
---java---集合总结笔记
高中数学必修一集合总结PPT学习教案.pptx
高中数学集合总结+题型分类+完美解析.doc
单个集合的学习路线:使用->做实验->画图->分析源码 集合:大小可变的序列,只能存放对象 集合和数组的区别: 1.集合是大小可变的序列,数组在声明后,长度不可变 2.数组只能存放声明时指定的一种数据类型,集合...
### Java集合框架总结 #### 一、Java集合框架概述 Java集合框架是Java标准库的一部分,它提供了一系列的接口和类来存储和操作各种类型的对象集合。这些接口和类遵循一致的设计模式,使得开发人员可以方便地管理和...
本文档对C#的几种常见的集合(BitArray, Dictionary, Hashtable, NameValueCollection, Queue, Stack)的用法作了归纳,每种集合都附有完整的测试代码。(另外一种常见集合ArrayList收录在另外一份文档:使用总结>中)
JAVA集合是Java编程中至关重要的概念,主要用于存储和操作对象。集合类的特点在于它们只用于存储对象,且长度可变,允许存储不同类型的对象。与数组相比,集合提供了更大的灵活性,因为数组的长度是固定的,且只能...