set容器

Java 集合

ぐ巨炮叔叔 提交于 2020-03-14 08:20:20
所有集合类都位于java.util包下。集合中只能保存对象(保存对象的引用变量)。当我们把一个对象放入集合中后,系统会把所有集合元素都当成Object类的实例进行处理。 Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些接口或实现类。 Set和List接口是Collection接口派生的两个子接口,Queue是Java提供的队列实现,类似于List。 Map实现类用于保存具有映射关系的数据(key-value)。 Set、List和Map可以看做集合的三大类。 List集合是有序集合,集合中的元素可以重复,访问集合中的元素可以根据元素的索引来访问。 Set集合是无序集合,集合中的元素不可以重复,访问集合中的元素只能根据元素本身来访问(也是不能集合里元素不允许重复的原因)。 Map集合中保存Key-value对形式的元素,访问时只能根据每项元素的key来访问其value。 接口 实现 历史集合类 Set HashSet TreeSet List ArrayList Vector LinkedList Stack Map HashMap Hashtable TreeMap Properties Collection Collection接口支持如添加和除去等基本操作。设法除去一个元素时

XamarinEssentials教程设置首选项Preferences的值

萝らか妹 提交于 2020-03-12 20:17:09
XamarinEssentials教程设置首选项Preferences的值 如果要对首选项的某一项的值进行设置时,可以通过Preferences类的Set()方法实现,该方法可以对指定键的值进行设置。该方法有12种形式,下面依次进行介绍。 (1)Set(string, bool)方法的语法形式如下: public static void Set(string key, bool value) (2)Set(string, bool, string)方法的语法形式如下: public static void Set(string key, bool value, string sharedName) (3)Set(string, double)方法的语法形式如下: public static void Set(string key, double value) (4)Set(string, double, string)方法的语法形式如下: public static void Set(string key, double value, string sharedName) (5)Set(string, float)方法的语法形式如下: public static void Set(string key, float value) (6)Set(string, float,

sort排序总结+详细

☆樱花仙子☆ 提交于 2020-03-12 12:24:22
sort排序总结+详细 C++中vector和set都是非常方便的容器, sort方法是algorithm头文件里的一个标准函数,能进行高效的排序,默认是按元素从小到大排序 将sort方法用到vector和set中能实现多种符合自己需求的排序 首先sort方法可以对静态的数组进行排序 #include<iostream> using namespace std; int main(){ int a[10] = { 9, 0, 1, 2, 3, 7, 4, 5, 100, 10 }; sort(a, a +10); for (int i = 0; i < 10; i++) cout << a[i] << endl; return 0; } 这里可以看到是sort(a,a+10),但是数组a一共只有9个元素,为什么是a+10而不是a+9呢? 因为sort方法实际上最后一位地址对应的数是不取的, 而且vector,set,map这些容器的end()取出来的值实际上并不是最后一个值,而end的前一个才是最后一个值! 需要用prev(xxx.end()),才能取出容器中最后一个元素。 对vector使用sort函数: 第一种情形:基本类型,如vector,vector,vector也是可以的 #include<iostream> #include<vector> #include

Java入门 - 高级教程 - 02.集合

妖精的绣舞 提交于 2020-03-08 07:42:20
原文地址: http://www.work100.net/training/java-collection.html 更多教程: 光束云 - 免费课程 集合 序号 文内章节 视频 1 概述 - 2 集合接口 - 3 集合实现类(集合类) - 4 集合算法 - 5 如何使用迭代器 - 6 如何使用比较器 - 7 总结 - 请参照如上 章节导航 进行阅读 1.概述 早在 Java 2 中之前,Java 就提供了特设类。比如: Dictionary , Vector , Stack , 和 Properties 这些类用来存储和操作对象组。 虽然这些类都非常有用,但是它们缺少一个核心的,统一的主题。由于这个原因,使用 Vector 类的方式和使用 Properties 类的方式有着很大不同。 集合框架被设计成要满足以下几个目标: 该框架必须是高性能的。基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的 该框架允许不同类型的集合,以类似的方式工作,具有高度的互操作性 对一个集合的扩展和适应必须是简单的 为此,整个集合框架就围绕一组标准接口而设计。你可以直接使用这些接口的标准实现,诸如: LinkedList , HashSet , 和 TreeSet 等,除此之外你也可以通过这些接口实现自己的集合。 从上面的集合框架图可以看到,Java 集合框架主要包括两种类型的容器,一种是集合(

2020年Java集合课堂笔记

孤人 提交于 2020-03-04 12:16:53
Java集合 1.集合概述 集合 :集合是java中提供的一种容器,可以用来存储多个数据。 集合与数组的区别: 数组长度固定,集合长度可变 数组只能存储类型相同的元素,集合存储对象,对象类型可以不同 集合框架 2.Collection接口 Collection是所有单列集合的根接口,方法可用于操作所有单列集合 Collection接口的主要方法 方法声明 功能描述 boolean add(Object o) 向集合中添加一个元素 boolean addAll(Collection c) 将集合c中的所有元素添加到该集合中 void clear() 删除该集合的所有元素 boolean remove(Object o) 删除该集合中的o boolean removeAll(Collection c) 删除该集合中包含集合c中的所有集合 boolean isEmpty() 判断该集合是否为空 boolean contains(Object o) 判断该集合中是否包含元素o boolean containsAll(Collection c) 判断该集合是否包含集合c的所有元素 int size() 判断该集合元素的个数 Iterator iterator() 用于遍历该集合的所有元素 Stream stream() 将集合源转换为有序元素的流对象 3.List接口 List接口简介

问题 1487: [蓝桥杯][算法提高VIP]不同单词个数统计(STL)

寵の児 提交于 2020-03-01 13:22:00
题目链接: 点击这里 思路:整行读入,字符串最后加一个空格,提取出每一个单词,扔进set里判重,最后输出set容器的大小即可。 第一次写的在C语言网提交没过,蓝桥杯官网过了!害。 AC: # include <iostream> # include <string> # include <set> using namespace std ; int main ( ) { string s ; set < string > st ; while ( cin >> s ) { st . insert ( s ) ; } cout << st . size ( ) << endl ; return 0 ; } 来源: CSDN 作者: 菜是原罪QAQ 链接: https://blog.csdn.net/qq_42815188/article/details/104574501

java数据结构17_HashSet类详解

妖精的绣舞 提交于 2020-02-28 21:10:08
1.Set接口介绍 Set接口继承自Collection,Set接口中没有新增方法,方法和Collection保持完全一致。我们在前面通过List学习的方法,在Set中仍然适用。因此,学习Set的使用将没有任何难度。 Set容器特点: 无序、不可重复 。无序指Set中的元素没有索引,我们只能遍历查找;不可重复指不允许加入重复的元素。 Set 集合有多个子类,这里我们介绍其中的 HashSet、LinkedHashSet 、TreeSet这三个集合。 2. HashSet类详解 HashSet是采用哈希算法实现,底层实际是用HashMap实现的(HashSet本质就是一个简化版的HashMap),因此,查询效率和增删效率都比较高。 我们打开HashSet的源码,发现里面有一行核心代码: 我们发现里面有个map属性,这就是HashSet的核心秘密。我们再看add()方法,发现增加一个元素说白了就是在map中增加一个键值对,键对象就是这个元素,值对象是名为PRESENT的Object对象。说白了,就是“往set中加入元素,本质就是把这个元素作为key加入到了内部的map中”。 由于map中key都是不可重复的,因此,HashSet天然具有“不可重复”的特性。 HashSet 的使用 给 HashSet 中存储 JavaAPI 中提供的类型元素时,不需要重写元素的 hashCode 和

java中list、set和map 的区别

流过昼夜 提交于 2020-02-23 05:59:42
List按对象进入的顺序保存对象,不做排序或编辑操作。Set对每个对象只接受一次,并使用自己内部的排序方法(通常,你只关心某个元素是否属于Set,而不关心它的顺序--否则应该使用List)。Map同样对每个元素保存一份,但这是基于"键"的,Map也有内置的排序,因而不关心元素添加的顺序。如果添加元素的顺序对你很重要,应该使用 LinkedHashSet或者LinkedHashMap. List的功能方法 实际上有两种List: 一种是基本的ArrayList,其优点在于随机访问元素,另一种是更强大的LinkedList,它并不是为快速随机访问设计的,而是具有一套更通用的方法。 List : 次序是List最重要的特点:它保证维护元素特定的顺序。List为Collection添加了许多方法,使得能够向List中间插入与移除元素(这只推荐LinkedList使用。)一个List可以生成ListIterator,使用它可以从两个方向遍历List,也可以从List中间插入和移除元素。 ArrayList : 由数组实现的List。允许对元素进行快速随机访问,但是向List中间插入与移除元素的速度很慢。ListIterator只应该用来由后向前遍历ArrayList,而不是用来插入和移除元素。因为那比LinkedList开销要大很多。 LinkedList : 对顺序访问进行了优化

java中list、set和map 的区别

只谈情不闲聊 提交于 2020-02-23 05:06:27
转载自http://webservices.ctocio.com.cn/java/435/8907435.shtml 本文主要介绍java中list,set和map 的区别 。   List按对象进入的顺序保存对象,不做排序或编辑操作。Set对每个对象只接受一次,并使用自己内部的排序方法(通常,你只关心某个元素是否属于Set,而不关心它的顺序--否则应该使用List)。Map同样对每个元素保存一份,但这是基于"键"的,Map也有内置的排序,因而不关心元素添加的顺序。如果添加元素的顺序对你很重要,应该使用 LinkedHashSet或者LinkedHashMap.   List的功能方法   实际上有两种List: 一种是基本的ArrayList,其优点在于随机访问元素,另一种是更强大的LinkedList,它并不是为快速随机访问设计的,而是具有一套更通用的方法。   List : 次序是List最重要的特点:它保证维护元素特定的顺序。List为Collection添加了许多方法,使得能够向List中间插入与移除元素(这只推荐LinkedList使用。)一个List可以生成ListIterator,使用它可以从两个方向遍历List,也可以从List中间插入和移除元素。   ArrayList : 由数组实现的List。允许对元素进行快速随机访问

java中list、set和map 的区别<转>

烈酒焚心 提交于 2020-02-23 05:02:35
  List按对象进入的顺序保存对象,不做排序或编辑操作。   Set中的所有对象均不相同(这里的不同通常指调用类方法equals()将返回false),并使用自己内部的排序方法(通常,你只关心某个元素是否属于Set,而不关心它的顺序--否则应该使用List)。   Map同样对每个元素保存一份,但这是基于"键"的,Map也有内置的排序,因而不关心元素添加的顺序。如果添加元素的顺序对你很重要,应该使用LinkedHashSet或者LinkedHashMap.   List的功能方法   实际上有两种List: 一种是基本的ArrayList,其优点在于随机访问元素,另一种是更强大的LinkedList,它并不是为快速随机访问设计的,而是具有一套更通用的方法。   List : 次序是List最重要的特点:它保证维护元素特定的顺序。List为Collection添加了许多方法,使得能够向List中间插入与移除元素(这只推荐LinkedList使用。)一个List可以生成ListIterator,使用它可以从两个方向遍历List,也可以从List中间插入和移除元素。   ArrayList : 由数组实现的List。允许对元素进行快速随机访问,但是向List中间插入与移除元素的速度很慢。ListIterator只应该用来由后向前遍历ArrayList,而不是用来插入和移除元素