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集合体系中最常使用,也是最简单 ...
随机推荐
- 微信小程序 Session 失效
微信小程序 Session 失效 微信小程序,前端请求后端,中间多了个微信服务器,所以请求的流程就是 页面--微信服务器--目标服务器 这就导致了一个问题 session 每次请求都是一个新的会话 解 ...
- sql 空值设置默认值
ifnull(a.discountsign, ') AS "discountsign"
- CDOJ 1280 772002画马尾 每周一题 div1 矩阵快速幂 中二版
"问题:众所周知772002很喜欢马尾,所以他决定画几幅马尾送给他的女朋友. 772002会画m种马尾,772002还有n张纸,n张纸分别编号1到n,每张纸上只能画一种马尾. 然而77200 ...
- Educational Codeforces Round 8 D. Magic Numbers 数位DP
D. Magic Numbers 题目连接: http://www.codeforces.com/contest/628/problem/D Description Consider the deci ...
- UTF8
Here's a couple of functions (based on Brian Bondy's example) that use WideCharToMultiByte and Multi ...
- 面试DB优化
高频全表扫描 0.5 表大小超过200M,且SQL高频执行(15分钟内超过500次),PIR 3级,表大小超过高速缓存的1.5%,报PIR 2级. 禁止使用select * 0.5 禁止使用selec ...
- express结合jade模板渲染HTML
在线html转jade工具>> 注意:以下是在Windwo环境下 运行: npm install jade 然后你的目录node_modules下将增加jade文件夹 app.js var ...
- java正則表達式 match、find匹配位置
如题.对于java正則表達式这几个方法匹配一次后的,匹配位置搞不太清楚,就写了几个样例.例如以下: String ss="ooaaoo"; Pattern pt=Pattern.c ...
- iOS:iOS开发系列–打造自己的“美图秀秀”(中)
来源: KenshinCui 链接:http://www.cnblogs.com/kenshincui/p/3959951.html 其他状态设置 常用的图形上下文状态设置上面基本都用到了,我们不再一 ...
- CMakeFile命令之file
file:文件操作命令. file(WRITE filename "message towrite"... ) WRITE 将一则信息写入文件’filename’中,如果该文件存在 ...