集合类是放在java.util.*;这个包里。集合类存放的都是对象的引用,而非对象本身,为了说起来方便些,我们称集合中的对象就是指集合中对象的引用(reference)。引用的概念大家不会忘了吧,在前边我们讲数据类型时讲的。 集合类型主要有3种:set(集)、list(列表)、map(映射)和Queue(队列)。//队列为jdk5中的加上的

(1) Set

集(set)是最简单的一种集合,它的对象不按特定方式排序,只是简单的把对象加入集合中,就像往口袋里放东西。对集中成员的访问和操作是通过集中对象的引用进行的,所以集中不能有重复对象。我们知道数学上的集合也是Set这个,集合里面一定是没有重复的元素的。

(2)List

列表(List)的主要特征是其对象以线性方式存储,没有特定顺序,只有一个开头和一个结尾,当然,它与根本没有顺序的Set是不同的。它是链表嘛,一条链肯定有顺序这个顺序就不一定了。

(3)Map

映射(Map),这个在java里不是地图的意思,其实地图也是映射哈。它里面的东西是键-值对(key-value)出现的,键值对是什么呢?举个例子,比如我们查字典,用部首查字法。目录那个字就是键,这个字的解释就是值。键和值成对出现。这样说可以理解吧。这也是很常用的数据结构哦。

(4)Queue

在jdk5.0以前,通常的实636f7079e799bee5baa631333238656133现方式是使用java.util.List集合来模仿Queue。Queue的概念通过把对象添加(称为enqueuing的操作)到List的尾部(即Queue的后部)并通过从List的头部(即Queue的前部)提取对象而从 List中移除(称为dequeuing的操作)来模拟。你需要执行先进先出的动作时可以直接使用Queue接口就可以了。

这4个东西,有时候功能还不太完善,需要有些子类继承它的特性。Set的子接口有TreeSet,SortedSet,List的有ArrayList等,Map里有HashMap,HashTable等,Queue里面有BlockingQueue等。我们来看看例子吧:

实践: Set举例

import java.util.*;

public class SetExample {

public static void main(String[] args) {

Set set = new HashSet(); //HashSet是Set的子接口

set.add("one");

set.add("second");

set.add("3rd");

set.add(new Integer(4));

set.add(new Float( 5.0F ));

set.add("second");

set.add(new Integer(4));

System.out.println(set);

}}

List举例:

import java.util.*;

public class ListExample {

public static void main(String[] args) {

List list = new ArrayList();

list.add("one");

list.add("second");

list.add("3rd");

list.add(new Integer(4));

list.add(new Float( 5.0F ));

list.add("second");

list.add(new Integer(4));

System.out.println(list);

}}

Map举例

import java.util.Map;

import java.util.HashMap;

import java.util.Iterator;

import java.io.FileReader;

public class MapExample {

public static void main(String[] args) throws java.io.FileNotFoundException {

Map word_count_map = new HashMap();

FileReader reader = new FileReader(args[0]);

Iterator words = new WordStreamIterator(reader);

while ( words.hasNext() ) {

String word = (String) words.next();

String word_lowercase = word.toLowerCase();

Integer frequency = (Integer)word_count_map.get(word_lowercase);

if ( frequency == null ) {

frequency = new Integer(1);

} else {

int value = frequency.intValue();

frequency = new Integer(value + 1);}

word_count_map.put(word_lowercase, frequency);

}

System.out.println(word_count_map);

}}

Queue举例:

import java.io.IOException;

import java.io.PrintStream;

import java.util.LinkedList;

import java.util.Queue;

public class QueueTester {

public Queue

q; //发现了一个奇怪的语法,这个尖括号是泛型声明

public QueueTester() {q = new LinkedList

();}

public void testFIFO(PrintStream out) throws IOException {

q.add("First");

q.add("Second");

q.add("Third");

Object o;

while ((o = q.poll()) != null) {

out.println(o);}}

public static void main(String[] args) {

QueueTester tester = new QueueTester();

try { tester.testFIFO(System.out);

} catch (IOException e) {

e.printStackTrace(); } }}

next在java中是什么意思_java中next是什么意思相关推荐

  1. java中组件与容器_java中的容器组件和非容器组件

    1.java使用到的图形类主要在java.awt 与javax.swing包中. 2.java.awt 与 javax.swing包的区别: ① java.awt中使用的图形类都是依赖于系统的图形库的 ...

  2. java boolean几个字节_Java中boolean类型到底占用多少个字节?

    1.时间:2017-07-03 07:37:06YuanMxy 2.问题描述:今天在复习java基础的时候发现一小问题,Java中boolean类型到底占用多少个字节? 3.问题解答: (1)什么是b ...

  3. java 基本类型的引用_Java中的基本数据类型与引用数据类型

    一.基本数据类型 byte.short.int.long(整数类型) float.double(浮点数类型) char(字符型) boolean(布尔类型 ) Java数据大多数存放在堆栈中.栈区:存 ...

  4. java对于数组的定义_Java中方法的定义与使用,以及对数组的初步了解。

    方法 方法的含义 定义: 方法就是用来完成解决某件事情或实现某个功能的办法. 方法实现的过程中,会包含很多条语句用于完成某些有意义的功能--通常是处理文本,控制输入或计算数值. 我们可以通过在程序代码 ...

  5. java string 后几位_java中String占几个位元组

    java中String占几个位元组以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! java中String占几个位元组 J ...

  6. java有没有回调函数_Java中的回调函数 - wangjianme的个人空间 - OSCHINA - 中文开源技术交流社区...

    Java代码的回调函数经常由框架或是系统定义,由程序开发人员填充. 它的最主要特点是即定义了调用的规范同时又非常的灵活. 回调函数有些类似于观察者模式,它们的区别在于:观察者模式返回的参数为Event ...

  7. java常见的报错_Java中常见的错误有哪些?

    原标题:Java中常见的错误有哪些? 1.java.lang.Error 错误.是所有错误的基类,用于标识严重的程序运行问题.这些问题通常描述一些不应被应用程序捕获的反常情况. 原因: 1.对系统所访 ...

  8. java i 线程不安全_java中的++i是线程安全的吗?

    java中的++i是线程安全的吗?为什么?怎么使它线程安全呢? 先说答案: 非线程安全 先说下为什么是非线程安全的? 从Java内存模型说起 Java内存模型规定了所有的便利都存储在主内存中,每个线程 ...

  9. java序列化有什么用_java中序列化的作用

    一  什么叫序列化 通俗点讲:它是处理对象流的一种机制,即可以很方便的保存内存中java对象的状态,同时也为了方便传输. 二 序列化有什么作用 1.方便传输,速度快,还很安全,被调用方序列化,调用方反 ...

  10. java原始类型和引用类型_Java中的8种原始类型

    java原始类型和引用类型 几年前,当我开始编辑Java Basics系列时,我认为将一些非常详细的信息拉到自己的帖子中是很有意义的. 这样,初学者的内容就更容易消化了. 首先,我将介绍有关Java的 ...

最新文章

  1. ping 命令还能这么玩?
  2. php 读取excel转html,PHPExcel 转HTML
  3. 在laravel5 中使用queue队列
  4. pandas基础(part5)--透视表与交叉表
  5. 如何在不支付Adobe Photoshop费用的情况下处理Camera Raw
  6. 【ZOJ - 4020 】Traffic Light (bfs,分层图)
  7. 再说409,又提离别痛
  8. Kaggle 年度报告出炉:数据科学家年轻高学历,薪资近百万
  9. linux查看日历_能从远程获得乐趣的 Linux 命令 | Linux 中国
  10. ---M文件-函数式M文件/脚本式、m文件基本构成
  11. 高薪Java开发工程师需要掌握哪些技能?
  12. 一不小心就进入了P2P陷阱
  13. logout退出功能是怎么实现的?login登陆功能室怎么实现的
  14. ssm中web配置各框架的配置文件路径方式
  15. 用数据告诉你:中国最网红的城市在哪里
  16. linux计算与检查md5值
  17. 虚幻基础之Gameplay游戏框架之Level和World
  18. WebStorm 2016.3.1 版本激活方法
  19. EMPIRE: LUPINONE实战演练
  20. 基于泰勒级数展开求余弦函数值

热门文章

  1. 粒子系统模拟-计算机图形学 豆瓣,粒子系统
  2. 宽带电视显示服务器错误是什么意思,智能电视提示“WiFi登录失败”什么原因?当贝市场告诉你...
  3. i3 7100黑苹果_黑苹果系统是否好用?
  4. 网络层协议 ——— IP协议
  5. 解决input输入框与select下拉框水平不对齐
  6. 用函数编程实现输出 m~n之间所有素数,并求和,m和n由键盘输入。(c语言)
  7. QQ聊天对话框(Js实现,支持表情插入文本中间)
  8. win10系统怎么安装显卡驱动,驱动人生详细教程
  9. Java并发(四)BlockingQueue的使用
  10. 小说里的管理软件现状