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集合体系中最常使用,也是最简单 ...
随机推荐
- 【(博弈)dfs序+树状数组】BZOJ2819-Nim
[题目大意] 普通的Nim游戏为:两个人进行游戏,N堆石子,每回合可以取其中某一堆的任意多个,可以取完,但不可以不取.谁不能取谁输.这个游戏是有必胜策略的.现在对每一堆编号1,2,3,4,...n,在 ...
- YS私有通信协议安全整改方案
1.背景: YS私有通信是hk研发的一款用于探测或设置hk设备的设备网络搜索软件,其基于hk的私有多播或广播协议实现.由于其自身拥有和hk同样长久的历史,早期在设计时未考虑到安全性因素,导致该协议存在 ...
- NServiceBus入门:启程(Introduction to NServiceBus: Getting started)
原文地址:https://docs.particular.net/tutorials/intro-to-nservicebus/1-getting-started/ 侵删. 最好的学习NService ...
- Adaptive Query Optimization in Oracle Database 12c (12.1 and 12.2)
https://oracle-base.com/articles/12c/adaptive-query-optimization-12cr1
- 推荐一篇讲arm架构gcc内联汇编的文章
这是来自ethernut网站的一篇文章,原文链接: http://www.ethernut.de/en/documents/arm-inline-asm.html 另外,据说nut/os是个不错的开源 ...
- LaTeX之参考文献的写法
在编写latex文件时,参考文献是个比较头疼的问题,以前自己写的时候总是用 \begin{thebibliography}\bibitem author,article, year, vol,\end ...
- CSS3 @media 查询,根据屏幕screen大小调节前端显示;媒体查询方法的使用
------------------- 1.媒体查询方法在 css 里面这样写 -------------------- @media screen and (min-width: 320px) an ...
- iOS:iOS开发系列–打造自己的“美图秀秀”(下)
来源: KenshinCui 链接:http://www.cnblogs.com/kenshincui/p/3959951.html 运行效果: 其他图形上下文 前面我们也说过,Quartz 2D的图 ...
- pymongo 目标计算机积极拒绝
今天在使用pymongo连接服务器上的mongodb数据库时出现该问题 其实原因是mongodb本身配置只允许本机连接数据库 打开mongod.conf即mongodb的配置文件 一般来说是vim / ...
- texture 资源 shader资源
tex:create or load的时候 开显存 bindtex的时候把address送过去 shader 有两部分 compile之前和之后的 compile之前是比如hlsl 编完是二进制文件 ...