java基础讲解13-----集合
一:集合介绍
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class CollextionTest {
/**
* 集合在java中是非常重要的
*
* 1.什么是集合 : 集合又被成为容器,存放一些数据的,
*
* 2.集合与数组的区别 : 数组的长度是固定的,集合的长度是可变的。
* 数组用来存放基本类型的数据,集合用来存放对象的应用
*
* 3.集合的分类
* List Set Map
*
* 都继承conllection这个接口 里面又很多方法
* 比如 add() 添加 ,remove() 移除 ,isEmpty() 判断是否为空, size() 集合的长度 ,iterator() 迭代器
*
*/
public static void main(String[] args) {
Collection<String> list=new ArrayList<String>();
list.add("张三");
list.add("张三1");
list.add("张三2");
//输出集合 利用迭代器
Iterator<String> it=list.iterator();
while(it.hasNext()) //如果迭代有更多元素,返回true。 没有了就false退出
{
String a=it.next();
System.out.println(a);
}
}
}
二:List集合
List集合包括List接口以及List接口的所有实现类。List集合中的元素可以重复,各元素的顺序就是对象插入的顺序。
List接口继承了Collection接口,因此包含Collection里面的所有方法。还有两个自己定义的方法 get(); set();
package com.swing;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
public class CollextionTest2 {
/**
* 集合在java中是非常重要的
*
* 1.什么是集合 : 集合又被成为容器,存放一些数据的,
*
* 2.集合与数组的区别 : 数组的长度是固定的,集合的长度是可变的。
* 数组用来存放基本类型的数据,集合用来存放对象的应用
*
* 3.集合的分类
* List Set Map
*
* 都继承conllection这个接口 里面又很多方法
* 比如 add() 添加 ,remove() 移除 ,isEmpty() 判断是否为空, size() 集合的长度 ,iterator() 迭代器
*
*/
public static void main(String[] args) {
List<String> list=new ArrayList<>();
list.add("小米");
list.add("大米");
list.add("中米");
for(int i=0;i<list.size();i++)
{
System.out.println(list.get(i));
}
}
}
三:set集合
set集合,是无顺序的,而且不能重复
http://blog.csdn.net/chenssy/article/details/21988605 想深入了解就看这个 比较详细。我不常用‘
四:Map集合
Map集合没有继承collection接口,自己提供了key 到value的映射。Map里面不能包含相同的key,每个key只能映射一个value。
key还决定了存储对象在映射中的存储位置,但是不是由key本身决定的,而是通过一种“散列技术”进行处理的。然后产生一个散列码的整数值,散列码通常做一个偏量值,
用这个偏量值 对应分配到 映射的内存区域的起始位置,从而确定存储对象映射中的存储位置
package com.swing;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class CollextionTest3 {
/**
* map 接口实现的类又两个
*
* HashMap/TreeMap
*
* HashMap : 添加,删除映射效率高,是基于哈希表的。 通过哈希码对其内部的映射关系进行快速查找。
*
* TreeMap : 查找是有序的
*
*
* @param args
*/
public static void main(String[] args) {
Map<String,String> map=new HashMap<>();
map.put("001", "我哎你1");
map.put("002", "我哎你2");
map.put("003", "我哎你3");
map.put("004", "我哎你4");
System.out.println(map.get("001"));
Set<String> it=map.keySet(); //获取map集合中的key对象集合
Iterator<String> iter=it.iterator();
while(iter.hasNext())
{
String key=iter.next();
String value=map.get(key);
System.out.println(value);
}
/**
* map 集合允许对象为null 没有个数限制
*/
}
}
http://cmsblogs.com 不错的播客
java基础讲解13-----集合的更多相关文章
- Java 基础 -- 泛型、集合、IO、反射
package com.java.map.test; import java.util.ArrayList; import java.util.Collection; import java.util ...
- 黑马程序员——JAVA基础之List集合
------- android培训.java培训.期待与您交流! ---------- Collection : |--List:元素是有序的,元素可以重复.因为该集合体系有索引. | ...
- 夯实Java基础系列13:深入理解Java中的泛型
目录 泛型概述 一个栗子 特性 泛型的使用方式 泛型类 泛型接口 泛型通配符 泛型方法 泛型方法的基本用法 类中的泛型方法 泛型方法与可变参数 静态方法与泛型 泛型方法总结 泛型上下边界 泛型常见面试 ...
- Java基础系列7——集合系列(1)框架概述
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 集合框架概述 Jav ...
- 【Java基础】谈谈集合.List
摘自:https://www.cnblogs.com/54chensongxia/p/11722828.html 目录 1. ArrayList 1.1 ArrayList的构造 1.2 add方法 ...
- 黑马程序员——JAVA基础之Map集合
------- android培训.java培训.期待与您交流! ---------- Map集合: 该集合存储键值对.一对一对往里存.而且要保证键的唯一性. 和Set很像,其实Set底层就是使用了M ...
- Java基础题:集合、String、性能、线程
转载自:Java基础题 https://yq.aliyun.com/articles/601786?utm_content=m_1000001149
- java基础(13)---集合框架
一.集合框架 Java的集合类是一些非常实用的工具类,主要用于存储和装载数据 (包括对象),因此,Java的集合类也被成为容器.在Java中,所有的集合类都位于java.util包下,这些集合类主要是 ...
- Java基础教程(24)--集合
一.Java集合框架 集合,有时也称为容器,是一个用来存储和管理多个元素的对象.Java中的集合框架定义了一套规范,用来表示和操作集合,使具体操作与实现细节解耦.集合框架都包含下列内容: 接口:这 ...
- Java基础系列--ArrayList集合
原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/8494618.html 一.概述 ArrayList是Java集合体系中最常使用,也是最简单 ...
随机推荐
- 【动态规划】 Codeforces Round #416 (Div. 2) C. Vladik and Memorable Trip
划分那个序列,没必要完全覆盖原序列.对于划分出来的每个序列,对于某个值v,要么全都在该序列,要么全都不在该序列. 一个序列的价值是所有不同的值的异或和.整个的价值是所有划分出来的序列的价值之和. ...
- 【动态规划】【滚动数组】【搜索】Playrix Codescapes Cup (Codeforces Round #413, rated, Div. 1 + Div. 2) D. Field expansion
显然将扩张按从大到小排序之后,只有不超过前34个有效. d[i][j]表示使用前i个扩张,当length为j时,所能得到的最大的width是多少. 然后用二重循环更新即可, d[i][j*A[i]]= ...
- 【强联通分量缩点】【Tarjan】bzoj1051 [HAOI2006]受欢迎的牛
就是看是否有一些点,从其他任何点出发都可到达 定理:有向无环图中唯一出度为0的点,一定可以由任何点出发均可达. 所以缩点,若出度为零的点(强联通分量)唯一,则答案为该强联通分量中点的度数. 若不唯一, ...
- 20162312 实验一 Linux基础与Java开发环境
实 验 报 告 课程:程序设计与数据结构 姓名:张家铖 班级:1623 学号:20162312 实验名称: Linux基础与Java开发环境 实验器材:msi GL62M 7RD 实验目的与要求:1. ...
- [Luogu1462]通往奥格瑞玛的道路
题目大意: 一个n个点,m条边的图,每个边有一个边权,每个点也有一个点权. 现在要找一条从1到n的路径,保证边权和不超过b的情况下,最大点权尽量小. 问最大点权最小能是多少? 思路: 二分答案,然后D ...
- Java学习笔记(10)
目前多态情况下不能访问子类特有的成员 如果需要访问子类特有的成员,那么需要进行类型强制转换,转换为子类的类型然后再进行调用 基本数据类型的转换: 小数据类型------------->大数据类型 ...
- Java高级架构师(一)第34节:Nginx的Http模块部分的指令
默认长链接的数目在100个 默认长链接的超时时间,一般在75S.
- [转]Windows7下如何在MyEclipse更改JSP默认编码
分步阅读 一般情况下,用MyEclipse创建Web项目,在WebRoot目录下新建JSP页面,页面的编码格式是:ISO-8859-1,而这个编码格式不 可以解决多种语言文本显示问题,特别是中文,容易 ...
- 工作流 jBMP4.4表结构
(一)资源库和运行时表结构 JBPM4_DEPLOYMENT, JBPM4_DEPLOYPROP, JBPM4_LOB 存储流程定义相关的部署信息 JBPM ...
- Atlassian发布JIRA项目组合管理解决方案
在其年度用户峰会上,开发和协作软件供应商Atlassian发布了JIRA Portfolio,JIRA Portfolio是JIRA的一个附加组件"可以提供简单准确的视图用于计划和管理跨团队 ...