Java——集合
Java的集合类是一种非常有用的工具类,用于存储多个对象。它是一个容器,可以把多个对象放到里面。
Java集合分三种情况:
Set:无序、不可重复
List:有序、可重复
Map:具有映射关系
Collections集合的功能:
boolean add(Object) *保证集合内包含了自变量。如果它没有添加自变量,就返回 false(假)
boolean addAll(Collection) *添加自变量内的所有元素。如果没有添加元素,则返回 true(真)
void clear() *删除集合内的所有元素
boolean contains(Object) 若集合包含自变量,就返回“真”
boolean containsAll(Collection) 若集合包含了自变量内的所有元素,就返回“真”
boolean isEmpty() 若集合内没有元素,就返回“真”
Iterator iterator() 返回一个反复器,以用它遍历集合的各元素
boolean remove(Object) *如自变量在集合里,就删除那个元素的一个实例。如果已进行了删除,就返回“真”
boolean removeAll(Collection) *删除自变量里的所有元素。如果已进行了任何删除,就返回“真”
boolean retainAll(Collection) *只保留包含在一个自变量里的元素(一个理论的“交集”)。如果已进行了任何改变,就返回“真”
int size() 返回集合内的元素数量
Object[] toArray() 返回包含了集合内所有元素的一个数组
Map集合没有继承Collection接口,其提供的是key到value的映射。Map接口不能包含相同的Key,每个key只能映射,功能有:
Object put(Object key,Object value);//往容器中添加元素,键、值均为对象,由于键不能重复,如果添加的元素的key已存在,则覆盖value,以Object类型返回被覆盖的value;如果添加的元素的key不存在,则返回null。
Object get(Object key);//获取容器中键为key的元素的value,以Object类型返回。如果不存在此key,则返回null。
Object remove(Object key);//从容器中移除键为key的元素,以Object类型返回该元素的value;如果无元素的键为key,则返回null,如果此映射允许 null 值,则返回 null 值并不一定 表示该映射不包含该键的映射关系;也可能该映射将该键显示地映射到 null。
boolean containsKey(Object key);//该容器是否包含键为key的元素。
boolean containsValue(Object value);//该容器是否包含值为value的元素。
int size();//该容器中键值对的个数;
boolean isEmpty();//是否为空
void putAll(Map t);//将t中的所有元素添加到该容器中
void clear();//清空
迭代器Iterator接口:
Iterator接口也是Java集合框架的成员,但它不是用来存储对象的,而是用于遍历(迭代访问)集合中的元素。
例子:
CollectionTest:
public class CollectionTest {
public static void main(String[] args) {
//创建一个集合对象
Collection coll1 = new ArrayList();
//添加元素到集合对象中
coll1.add("111");
coll1.add("222");
coll1.add("333");
//输出
System.out.println("集合coll1的内容:"+coll1);
System.out.println("集合coll1的大小:"+coll1.size());
System.out.println("集合coll1的哈希值:"+coll1.hashCode());
System.out.println("集合coll1转换String:"+coll1.toString());
System.out.println("集合coll1去除222是否成功:"+ coll1.remove("222"));
System.out.println("集合coll1移除000后的内容:"+coll1);
System.out.println("集合coll1是否包含111:"+coll1.contains("111"));
//System.out.print("清空coll1...");
//coll1.clear();
//System.out.print("\n查看内容:"+coll1+"\n清空成功!......");
Collection coll2 = new ArrayList();
//把coll1添加到coll2
coll2.addAll(coll1);
System.out.println("-----------------------------------");
Object o[] = coll2.toArray();
for (int i = 0; i < o.length; i++) {
System.out.println(o[i]);
}
}
}
输出结果:
集合coll1的内容:[111, 222, 333]
集合coll1的大小:3
集合coll1的哈希值:48378961
集合coll1转换String:[111, 222, 333]
集合coll1去除222是否成功:true
集合coll1移除000后的内容:[111, 333]
集合coll1是否包含111:true
-----------------------------------
111
333
MapTest:
public class MapTest {
public static void main(String[] args) {
Map<String,String> map_test = new HashMap<String,String>();
map_test.put("item1", "value1");
map_test.put("item2", "value2");
map_test.put("item3", "value3");
map_test.put("item4", "value4");
map_test.put("item5", "value5");
Set set_test = map_test.entrySet();
Iterator iterator = set_test.iterator();
while(iterator.hasNext()){
Map.Entry<String, String> map_entity = (Map.Entry<String, String>) iterator.next();
System.out.println(map_entity.getKey()+"-----"+map_entity.getValue());
}
}
}
输出结果:
item4-----value4
item2-----value2
item3-----value3
item1-----value1
item5-----value5
未完待续... ...
Java——集合的更多相关文章
- Java集合专题总结(1):HashMap 和 HashTable 源码学习和面试总结
2017年的秋招彻底结束了,感觉Java上面的最常见的集合相关的问题就是hash--系列和一些常用并发集合和队列,堆等结合算法一起考察,不完全统计,本人经历:先后百度.唯品会.58同城.新浪微博.趣分 ...
- Scala集合和Java集合对应转换关系
作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 用Scala编码的时候,经常会遇到scala集合和Java集合互相转换的case,特意mark一 ...
- java集合你了解多少?
用了java集合这么久,还没有系统的研究过java的集合结构,今天亲自画了下类图,总算有所收获. 一.所有集合都实现了Iterable接口. Iterable接口中包含一个抽象方法:Iterator& ...
- 深入java集合学习1-集合框架浅析
前言 集合是一种数据结构,在编程中是非常重要的.好的程序就是好的数据结构+好的算法.java中为我们实现了曾经在大学学过的数据结构与算法中提到的一些数据结构.如顺序表,链表,栈和堆等.Java 集合框 ...
- Java集合框架List,Map,Set等全面介绍
Java集合框架的基本接口/类层次结构: java.util.Collection [I]+--java.util.List [I] +--java.util.ArrayList [C] +- ...
- Java集合框架练习-计算表达式的值
最近在看<算法>这本书,正好看到一个计算表达式的问题,于是就打算写一下,也正好熟悉一下Java集合框架的使用,大致测试了一下,没啥问题. import java.util.*; /* * ...
- 【集合框架】Java集合框架综述
一.前言 现笔者打算做关于Java集合框架的教程,具体是打算分析Java源码,因为平时在写程序的过程中用Java集合特别频繁,但是对于里面一些具体的原理还没有进行很好的梳理,所以拟从源码的角度去熟悉梳 ...
- Java 集合框架
Java集合框架大致可以分为五个部分:List列表,Set集合.Map映射.迭代器.工具类 List 接口通常表示一个列表(数组.队列.链表 栈),其中的元素 可以重复 的是:ArrayList 和L ...
- Java集合概述
容器,是用来装东西的,在Java里,东西就是对象,而装对象并不是把真正的对象放进去,而是指保存对象的引用.要注意对象的引用和对象的关系,下面的例子说明了对象和对象引用的关系. String str = ...
- 深入java集合系列文章
搞懂java的相关集合实现原理,对技术上有很大的提高,网上有一系列文章对java中的集合做了深入的分析, 先转载记录下 深入Java集合学习系列 Java 集合系列目录(Category) HashM ...
随机推荐
- pandas.Series
1.系列(Series)是能够保存任何类型的数据(整数,字符串,浮点数,Python对象等)的一维标记数组.轴标签统称为索引. Pandas系列可以使用以下构造函数创建 - pandas.Series ...
- C从源码到运行发生了哪些事
一个C/C++程序从源代码到可执行程序主要经历了四个阶段: ①预处理.包括展开宏.处理#include,#if,#ifdef等指令.删除注释.还有一些其他操作.相关命令:gcc -E或cpp ②编译. ...
- 【Linux】memcache和memcached的自动安装
赶时间所以写一个简单的一个脚本,没有优化,想优化的可以学习下shell,自己优化下. 且行且珍惜,源码包+脚本领取处 链接:https://pan.baidu.com/s/1wIFR1wY-luDKs ...
- window.onload和document.ready
浏览器解析大致有以下几个步骤: (1) 解析HTML结构 (2) 加载外部脚本和样式 (3) 解析并执行脚本代码 (4) 构造HTML DOM 模型 (5) ...
- python构建bp神经网络_曲线拟合(一个隐藏层)__1.可视化数据
1.将数据写入csv文件,应该可以python代码直接实现数据集的写入,但我对文件读取这块不太熟练,等我成功了再加上,这里我直接手写将数据集写入Excel 2.然后把后缀改成.csv就可以了,利用pa ...
- 【POI每日题解 #9】SKA-Piggy Banks
题目链接 题意: 有一棵环套树 求最少从多少个节点出发能沿边走过整棵树 环套树 并查集求联通块 有几块就砸几个 太简单不发代码了 不过某大佬的环套树找环dfs让我研究了好久… 贴一下以Orz #inc ...
- 值得Python小白学习的书 简单推荐几本吧
于我个人而言,我很喜欢Python,当然我也有很多的理由推荐你去学python.我只说两点.一是简单,二是写python薪资高.我觉得这俩理由就够了,对不对.买本书,装上pycharm,把书上面的例子 ...
- 【BZOJ5019】[SNOI2017]遗失的答案(FWT,动态规划)
[BZOJ5019][SNOI2017]遗失的答案(FWT,动态规划) 题面 BZOJ 题解 发现\(10^8\)最多分解为不超过\(8\)个本质不同质数的乘积. 而\(gcd\)和\(lcm\)分别 ...
- [luogu4551][POJ3764]最长异或路径
题目描述 给定一棵n个点的带权树,结点下标从1开始到N.寻找树中找两个结点,求最长的异或路径. 异或路径指的是指两个结点之间唯一路径上的所有边权的异或. 分析 处理出各个节点到根节点的异或距离,然后我 ...
- 软Raid50制作
=====创建Raid50的步骤====== 1.创建分区[root@localhost ~]# fdisk /dev/sdb[root@localhost ~]# fdisk /dev/sdc[ro ...