java_集合框架
一、集合框架图
二、Collection接口
三、List接口
List接口中的元素的特点:
List中的元素有序,可以重复。
public static void main(String[] args) {
List<String> list=new ArrayList<String>();
list.add("111");
list.add("222");
list.add("333");
//第一种遍历方法使用foreach遍历List
for (String str : list) {//也可以改写for(int i=0;i<list.size();i++)这种形式
System.out.println(str);
} //第二种遍历,把链表变为数组相关的内容进行遍历
String[] strArray=new String[list.size()];
list.toArray(strArray);
for(int i=0;i<strArray.length;i++) //这里也可以改写为foreach(String str:strArray)这种形式
{
System.out.println(strArray[i]);
} //第三种遍历 使用迭代器进行相关遍历 Iterator<String> ite=list.iterator();
while(ite.hasNext())
{
System.out.println(ite.next());
}
}
public static void main(String[] args) { List<String> list=new LinkedList<String>();
list.add("111");
list.add("222");
list.add("333");
//LinkedList遍历的第一种方式使用数组的方式
String[] strArray=new String[list.size()];
list.toArray(strArray);
for(String str:strArray)
{
System.out.println(str);
}
//LinkedList遍历的第二种方式
for(String str:list)
{
System.out.println(str);
}
}
四、Set接口
public static void main(String[] args) {
Set<String> set=new HashSet<String>();
set.add("111");
set.add("222");
set.add("333");
//遍历集合的第一种方法,使用数组的方法
String[] strArray=new String[set.size()];
strArray=set.toArray(strArray);
for(String str:strArray)//此处也可以使用for(int i=0;i<strArray.length;i++)
{
System.out.println(str);
}
//遍历集合的第二中方法,使用set集合直接遍历
for(String str:set)
{
System.out.println(str);
} //遍历集合的第三种方法,使用iterator迭代器的方法
Iterator<String> iterator=set.iterator();
while(iterator.hasNext())
{
System.out.println(iterator.next());
}
}
public static void main(String[] args) {
//String实体类中实现Comparable接口,所以在初始化TreeSet的时候,
//无需传入比较器
TreeSet<String> treeSet=new TreeSet<String>();
treeSet.add("d");
treeSet.add("c");
treeSet.add("b");
treeSet.add("a");
Iterator<String> iterator=treeSet.iterator();
while(iterator.hasNext())
{
System.out.println(iterator.next());
}
}
五、Map接口
public static void main(String[] args) {
//方式1
Map map = new HashMap();
map.put("A", "1233");
map.put("B", "12334");
map.put("C", "12334");
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
System.out.println(entry.getKey() + "--" + entry.getValue());
}
//方式2效率高
iter = map.keySet().iterator();
while (iter.hasNext()) {
Object key = iter.next();
System.out.println(key + "--" + map.get(key));
}
}
java_集合框架的更多相关文章
- JAVA_集合框架虐我千百遍,虐也是一种进步
1.Collection和Collections区别: Collection是java的一个集合接口,集合类的顶级接口 Collections是一个包装类(工具类),不能被实例化(由于其构造函数设为私 ...
- 【Java_集合框架Set】HashSet、LinkedHashSet、TreeSet使用区别
HashSet:哈希表是通过使用称为散列法的机制来存储信息的,元素并没有以某种特定顺序来存放: LinkedHashSet:以元素插入的顺序来维护集合的链接表,允许以插入的顺序在集合中迭代: Tree ...
- Java_集合面试题
Java_集合面试题 0.链表,队列和栈的区别? 链表是一种存储结构,指得是存储时候除了要存储数据元素之外,还要用数据元素一起的另外空间存储数据元素的关系. 队列和栈都是线性表,属于逻辑结构范畴,都是 ...
- 一起学 Java(三) 集合框架、数据结构、泛型
一.Java 集合框架 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个 ...
- 【目录】JUC集合框架目录
JUC集合框架的目录整理如下: 1. [JUC]JUC集合框架综述 2. [JUC]JDK1.8源码分析之ConcurrentHashMap(一) 3. [JUC]JDK1.8源码分析之Concurr ...
- java面试题——集合框架
先来看一下集合框架关系图 Collection FrameWork 如下: Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └S ...
- Java使用实现面向对象编程:第七章集合框架的解读=>重中之重
对于集合框架,是非常重要的知识,是程序员必须要知道的知识点. 但是我们为什么要引入集合框架呢? 我们之前用过数组存储数据,但是采用数组存储存在了很多的缺陷.而现在我们引用了集合框架,可以完全弥补了数组 ...
- Java集合框架List,Map,Set等全面介绍
Java集合框架的基本接口/类层次结构: java.util.Collection [I]+--java.util.List [I] +--java.util.ArrayList [C] +- ...
- Java集合框架练习-计算表达式的值
最近在看<算法>这本书,正好看到一个计算表达式的问题,于是就打算写一下,也正好熟悉一下Java集合框架的使用,大致测试了一下,没啥问题. import java.util.*; /* * ...
随机推荐
- SQL 存储过程(学生,课程表,选修表)
SQL 存储过程(学生,课程表,选修表) 一.存储过程的分类 在SQL Server中存储过程分过两类: 1)系统存储过程("sp_"作为前缀) 2)用户自定义存储过程 二.创建和 ...
- 使用hexdump 查看二进制文件
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...
- Windows ICS 服务无法启动问题解决
防火墙打不开肯定是"windows Firewall"服务没有启动.ICS服务启动不了能够通过下面方法解决: 1.找到本地连接,单击左键--属性--共享--勾选(√)--确定,如以 ...
- android133 360 06 一键锁频,清楚数据
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools= ...
- js 数组排序要注意的问题,返回的值最好为 -1, 0, 1之间的值
var test10Elements = [7, 6, 5, 4, 3, 2, 1, 0, 8, 9]; var comparefn = function (x, y) { return x - y; ...
- (原)nginx 源码编译
要在nginx上开发,所以先了解下这个是干嘛的..百度一下很多 编译源码需要的组件 1.zlib 2.pcre 3.openssl 使用ubuntu的话.可以直接使用 sudo apt-get ins ...
- combo参数配置_手册
combotree : 设置为多选框: $('#menu-combotree').combotree({multiple:true}).combotree('loadData', menuListJs ...
- Maven学习小结(三 基本概念)
1.Maven POM POM(Project Object Model)项目对象模型,是用Maven来管理项目里的一个叫做pom.xml的文件.所有的项目配置信息都被定义在这个文件中, 通过这个文件 ...
- fedora 23中配置nfs-server
fedora 23中配置nfs-server */--> fedora 23中配置nfs-server Table of Contents 1. 产考资料 2. NFS配置文件 2.1. /et ...
- HTTP层 —— 路由
1.基本路由 最基本的 Laravel 路由只接收一个 URI 和一个闭包,并以此提供一个非常简单且优雅的定义路由方法: Route::get('foo', function () { return ...