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 ...
随机推荐
- SAP PP顾问面试题及资料
SAP PP顾问面试试题及资料 1.主数据 组织架构 •SAP中主要的组织架构有哪些?哪些用于PP的组织架构?•成本控制范围.公司代码.估价范围.工厂.库存地点之间的关系 物料主数据 •不同的物料主数 ...
- logstash 使用kafka范例
写入到kafka input { stdin { } } output { kafka { bootstrap_servers => "10.0.0.200:9092" to ...
- jmeter创建基本的FTP测试计划
这个测试计划中创建4个用户从FTP站点请求2个文件,也可以让用户重复发送2次请求,这样总请求次数=4*2*2=16 使用以下元素:thread group / FTP Request /FTP Req ...
- 浅析python日志重复输出问题
浅析python日志重复输出问题 问题起源: 在学习了python的函数式编程后,又接触到了logging这样一个强大的日志模块.为了减少重复代码,应该不少同学和我一样便迫不及待的写了一个自己的日 ...
- day9-13 linux基础
有道云笔记链接 http://note.youdao.com/noteshare?id=207be3d6bd79e9ff2e30b160bca1fd87
- MT【235】两道函数题
已知$g(x)=x^2-ax+4a$,记$h(x)=|\dfrac{x}{g(x)}|$,若$h(x)$在$(0,1]$上单调递增,求$a$的取值范围. 解答: 已知$$g(x)=\begin{cas ...
- MT【210】四点共圆+角平分线
(2018全国联赛解答最后一题)在平面直角坐标系$xOy$中,设$AB$是抛物线$y^2=4x$的过点$F(1,0)$的弦,$\Delta{AOB}$的外接圆交抛物线于点$P$(不同于点$A,O,B$ ...
- 自学Linux Shell7.1-linux用户账户和组
点击返回 自学Linux命令行与Shell脚本之路 7.1-linux用户账户和组 linux安全系统的核心是用户账户.每个能进入linux系统的用户都会被分配唯一的用户账户,用户对系统中各对象的访问 ...
- 配置AD RMS及SharePoint 2013 IRM问题解决及相关资源
最近配置AD RMS及SharePoint 2013 IRM遇到几个问题: 1. RMS配置好后,client端连不上, 一直要求输入用户名和密码. 后来换了台不是SP的机器,并用内部DB,搞定. ...
- emwin 解决在A窗口上新建B窗口后‘只激活’B窗口问题
@2018-08-08 问题来源: 要实现A窗口上的参数修改,通过A窗口上新建的B窗口小键盘实现数据录入,但结果是只要点击A窗口上的任何地方(包括B窗口上的任意位置),则B窗口就消失了 解决办法: 使 ...