Set
package lis0924; //生成器导包
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet; public abstract class Text03 { public static void main(String[] args) {
// TODO 自动生成的方法存根 //Set 集合
//实现类HashSet 哈希 Hash
//搜索引擎,利用了哈希值
//特点:1.不能存放重复数据
// 2.没有顺序和索引
Set<Person> s1=new HashSet<>();//注意要产生生成器,alt+/ Person p0=new Person("A",20);
Person p1=new Person("A",20);
//不能存放重复数据也不报错
s1.add(p0);
s1.add(p0);
s1.add(p1);
s1.add(new Person("B",30));
s1.add(new Person("C",30));
s1.add(new Person("D",30));
s1.add(new Person("E",30));
s1.add(null); System.out.println("长度size="+s1.size()); System.out.println("是否存在"+s1.contains(p0));//判读是否存在 //s1.remove(p0);//移除
System.out.println("长度size="+s1.size()); //遍历
//1.foreach
System.out.println("foreach方式:...........");
for(Person p:s1)
{
System.out.println(p);
}
//迭代器
System.out.println("迭代器方式:..................");
Iterator<Person> it=s1.iterator();
while(it.hasNext())
{
Person p=it.next();
System.out.println(p);
} //TreeSet
TreeSet<String>ts=new TreeSet<>();
ts.add("Z");
ts.add("X");
ts.add("Y");
ts.add("B");
ts.add("A");
ts.add("M");
ts.add("N");
ts.add("X");
ts.add(null);//不能是空值 for(String str :ts)
{
System.out.println(str);
} } }
Set的更多相关文章
- 详细解说 STL 排序(Sort)
0 前言: STL,为什么你必须掌握 对于程序员来说,数据结构是必修的一门课.从查找到排序,从链表到二叉树,几乎所有的算法和原理都需要理解,理解不了也要死记硬背下来.幸运的是这些理论都已经比较成熟,算 ...
- STL标准模板库(简介)
标准模板库(STL,Standard Template Library)是C++标准库的重要组成部分,包含了诸多在计算机科学领域里所常见的基本数据结构和基本算法,为广大C++程序员提供了一个可扩展的应 ...
- STL的std::find和std::find_if
std::find是用来查找容器元素算法,但是它只能查找容器元素为基本数据类型,如果想要查找类类型,应该使用find_if. 小例子: #include "stdafx.h" #i ...
- STL: unordered_map 自定义键值使用
使用Windows下 RECT 类型做unordered_map 键值 1. Hash 函数 计算自定义类型的hash值. struct hash_RECT { size_t operator()(c ...
- C++ STL简述
前言 最近要找工作,免不得要有一番笔试,今年好像突然就都流行在线笔试了,真是搞的我一塌糊涂.有的公司呢,不支持Python,Java我也不会,C有些数据结构又有些复杂,所以是时候把STL再看一遍了-不 ...
- codevs 1285 二叉查找树STL基本用法
C++STL库的set就是一个二叉查找树,并且支持结构体. 在写结构体式的二叉查找树时,需要在结构体里面定义操作符 < ,因为需要比较. set经常会用到迭代器,这里说明一下迭代器:可以类似的把 ...
- STL bind1st bind2nd详解
STL bind1st bind2nd详解 先不要被吓到,其实这两个配接器很简单.首先,他们都在头文件<functional>中定义.其次,bind就是绑定的意思,而1st就代表fir ...
- STL sort 函数实现详解
作者:fengcc 原创作品 转载请注明出处 前几天阿里电话一面,被问到STL中sort函数的实现.以前没有仔细探究过,听人说是快速排序,于是回答说用快速排序实现的,但听电话另一端面试官的声音,感觉不 ...
- STL的使用
Vector:不定长数组 Vector是C++里的不定长数组,相比传统数组vector主要更灵活,便于节省空间,邻接表的实现等.而且它在STL中时间效率也很高效:几乎与数组不相上下. #include ...
- [C/C++] C/C++延伸学习系列之STL及Boost库概述
想要彻底搞懂C++是很难的,或许是不太现实的.但是不积硅步,无以至千里,所以抽时间来坚持学习一点,总结一点,多多锻炼几次,相信总有一天我们会变得"了解"C++. 1. C++标准库 ...
随机推荐
- 19条ANDROID平台设计规范(转)
1.尺寸以及分辨率: Android的界面尺寸比较流行的有:480*800.720*1280.1080*1920,我们在做设计图的 时候建议是以 480*800的尺寸为标准; 2.界面基本组成元素: ...
- MySQL5.5出面ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)问题的解决办法
问题描述 安装完MySQL5.5数据库,使用Navicat Premium以及命令窗口连接数据库都报以下错误: ERROR 1045 (28000): Access denied for user ' ...
- Zookeeper 初体验之——伪分布式安装(转)
原文地址: http://blog.csdn.net/salonzhou/article/details/47401069 简介 Apache Zookeeper 是由 Apache Hadoop 的 ...
- java多线程--实现Runnable接口
package unit8; import java.applet.Applet; import java.awt.Label; import java.awt.TextField; public c ...
- mysql LAST_INSERT_ID 使用与注意事项
在使用MySQL时,若表中含自增字段(auto_increment类型),则向表中insert一条记录后,可以调用last_insert_id()来获得最近insert的那行记录的自增字段值 $mdb ...
- Attribute在.net编程中的应用
Attribute FYI Link: Attribute在.net编程中的应用(一) Attribute在.net编程中的应用(二) Attribute在.net编程中的应用(三) Attribut ...
- flex弹性布局
Flex 布局教程:语法篇 原文地址:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?utm_source=tuicool 作者: ...
- Codeforces Round #375 (Div. 2) - B
题目链接:http://codeforces.com/contest/723/problem/B 题意:给定一个字符串.只包含_,大小写字母,左右括号(保证不会出现括号里面套括号的情况),_分隔开单词 ...
- js整理2
字符串 类型 var a = "abc"; var b = new String( a ); var c = Object( a ); typeof a; // "str ...
- TeeChart Pro 5.0
这是Delphi7自带例子 C:\Program Files\Borland\Delphi7\Demos\TeeChart 以下为翻译的文字,有部分不准确. TeeChart Pro 5.0是一个库 ...