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 #411 (Div. 1) A. Find Amir
1 2 3 4 5 6 7 4-5-3-6-2-7-1 答案是(n-1)/2 #include<cstdio> using namespace std; int n; int main() ...
- 8VC Venture Cup 2016 - Elimination Round B. Cards 瞎搞
B. Cards 题目连接: http://www.codeforces.com/contest/626/problem/B Description Catherine has a deck of n ...
- 控制台+Owin搭建WebAPI接口服务
当没有iis环境.想快速启动几个api接口测试又觉得新建一个api项目麻烦?来使用控制台做宿主,快速改几个api测试吧! 1.新建控制台项目 2.安装以下相关依赖 Microsoft.AspNet.W ...
- 认识udev
转:http://www.360doc.com/content/11/0415/21/1317564_109923795.shtml 因为本身从事存储行业,在工作中多次碰到用户有这样的要求:我的lin ...
- 【mysql】mysql中varcher属性最大值能存多长
1.首先理解varchar(n),n表示什么 MySQL5.0.3之前varchar(n)这里的n表示字节数 MySQL5.0.3之后varchar(n)这里的n表示字符数,比如varchar(200 ...
- 【Tomcat MyEcplise】MyEcplise添加一个新的Server,Tomcat8.5报错
添加新的Tomcat添加不进去,报错: The Apache Tomcat installation at this directory is version 8.5.11. A Tomcat 8. ...
- 网络上的等待事件 —— SQL*Net message from client/dblink
SQL*Net message from client SQL> select event#,name,parameter1,parameter2,parameter3 from v$event ...
- eclipse 性能调优之内存分配
转自:http://blog.csdn.net/defonds/article/details/6289236 如果觉得自己的 eclipse 比较慢,可以通过修改 %eclipse_home%/ec ...
- 《Go语言实战》笔记之第三章 ----包
原文地址: http://www.niu12.com/article/10 ####包 所有的.go 文件,除了空行和注释,都应该在第一行声明自己所属的包. 每个包都在一个单独的目录里. 不能把多个包 ...
- 使用SQL Server 扩展事件来创建死锁的跟踪
我们通过SQL Server 2014图形界面来部署一个扩展事件跟踪会话.然后可以生成SQL脚本. 步骤如下: 步骤1: 通过“对象资源管理器”连接到实例,展开“管理”.“扩展事件”.“会话”. 步骤 ...