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集合体系中最常使用,也是最简单 ...
随机推荐
- 【计算几何】【分类讨论】Gym - 101243I - Land Division
题意:给你一个n个点的凸包,让你切一刀,使得它变成一个m边形和一个K边形,问你切的这一刀最短是多少. 如果m+K==n+4,那么一定切在两条边上,但是由于两个线段间的最短距离,至少会经过一条线段的一个 ...
- ssm框架整合快速入门
写在前面: 公司一直都是使用ssh框架(Struts2,Spring,Hibernate)来开发,但是现在外面的公司大多数都是使用的ssm框架,所以也有必要多学习一下外面的新技术.这里就快速搭建一个小 ...
- cookie和localStorage、sessionStorage的区别
先来讲讲localStorage吧,我最初接触localStorage,是听一个同学说他在做项目的过程中用到过这个.但是我自己也用到过的,就是在学习React的时候,在做一个小demo,这个demo简 ...
- linux shell 自定义函数(定义、返回值、变量作用域)介绍
linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.下面说说它的定义方法,以及调用需要注意那些事项. 一.定义shell函数(define function) 语法: [ f ...
- SQL SERVER 2008 数据库置疑处理办法
1.修改数据库为紧急模式 ALTER DATABASE Zhangxing SET EMERGENCY 2.使数据库变为单用户模式 ALTER DATABASE Zhangxing SET SINGL ...
- JavaScript入门详解
开始开发工作. 一.Alert Confirm Prompt <html> <head> <script type="text/javascript" ...
- java锁对象
在Java5中,专门提供了锁对象,利用锁可以方便的实现资源的封锁,用来控制对竞争资源并发访问的控制,这些内容主要集中在java.util.concurrent.locks 包下面,里面有三个重要的接口 ...
- Struct2_定义拦截器并使用注解方式作用在Action的方法中
一.目的:通过在方法上加注解控制哪些方法需要登陆后才能访问 二.方式:利用拦截器判断用户是否登陆 三.实现步骤 定义配置文件struts.xml添加节点 1 2 3 4 5 6 7 8 9 1 ...
- NSIS安装包制作
6)闪屏界面,可以在源代码中加入下列代码即可: A.普通效果 以下是代码片段: Function .onInit SetOutPath $TEMP File /oname=spltmp.bmp &qu ...
- ylbtech-LanguageSamples-Porperties(属性)
ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-Porperties(属性) 1.A,示例(Sample) 返回顶部 “属性”示例 本示 ...