Arraylist gossip
ArrayList类别实作了List接口,List接口是Collection接口的子接口,主要增加了根据索引取得对象的方法。
ArrayList使用数组实作了List接口,所以对于快速的随机取得对象来说,使用ArrayList可以得到较好的效能,不过在移除对象或插入对象时,ArrayList就比较慢(使用 LinkedList 在这方面就好的多)。
来看看一个ArrayList的范例:
ArrayListDemo.javapackage onlyfun.caterpillar;
import java.util.*;
public class ArrayListDemo {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);List<String> list = new ArrayList<String>();System.out.println("输入名称(quit结束)");while(true) {System.out.print("# ");String input = scanner.next();if(input.equals("quit"))break;list.add(input);}System.out.print("显示输入: ");for(int i = 0; i < list.size(); i++)System.out.print(list.get(i) + " ");System.out.println();}
}
在 J2SE 5.0 之后新增了泛型(Generic)的功能,使用对象容器时建议容器中将储存的对象型态,如此您的对象在存入容器会被限定为您所宣告的型态,而取出时,也不至于失去原来的型态信息,可以避免型态转换时的问题。
使用add()方法可以将一个对象加入ArrayList中,使用size()方法可以传回目前的ArrayList的长度,使用get()可以传回指定索引处的对象,使用toArray()可以将ArrayList中的对象转换为对象数组。
以下是执行结果:
输入名称(quit结束)
# Justin# caterpillar# momor# quit
显示输入: Justin caterpillar momor
可以使用get()方法指定索引值取出对象,然而如果您的目的是要循序取出容器中所有的对象,则您可以使用Iterator类,Iterator类实作 Iterator 模式,实际来看个例子:
package onlyfun.caterpillar;
import java.util.*;
public class ArrayListDemo {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);List<String> list = new ArrayList<String>();System.out.println("输入名称(quit结束)");while(true) {System.out.print("# ");String input = scanner.next();if(input.equals("quit"))break;list.add(input);}Iterator iterator = list.iterator();while(iterator.hasNext()) {System.out.print(iterator.next() + " ");}System.out.println();}
}
iterator()方法会传回一个Iterator对象,这个对象提供的遍访的方法,hasNext()方法测试Iterator中是否还有对象,如果 有的话,可以使用next()取出。
事实上,在J2SE 5.0您也不必须使用iterator()了,使用增强的for循环可以直接遍访List的所有元素,例如:
package onlyfun.caterpillar;
import java.util.*;
public class ArrayListDemo {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);List<String> list = new ArrayList<String>();System.out.println("输入名称(quit结束)");while(true) {System.out.print("# ");String input = scanner.next();if(input.equals("quit"))break;list.add(input);}for(String s : list) {System.out.print(s + " ");}System.out.println();}
}
Arraylist gossip相关推荐
- Cassandra Gossip协议的二三事儿
Gossip协议是Cassandra维护各节点状态的一个重要组件,下面我们以Gossip协议三次握手为线索逐步分析Gossip协议源码. Gossip协议通过判断节点的generation和versi ...
- Java List与ArrayList 的区别(List list =new Arraylist(); ArrayList<String> arrayList = new ArrayList())
一般想知道List 与ArrayList 的区别可能大部分都是看到了 List list = new ArrayList(); 和 ArrayList arrayList = new ArrayLis ...
- List 为什么可以实例化ArrayList
昨天我带的一个同事问我List 为什么可以实例化ArrayList,刚开始一下萌了(带了快 2个月了) 比如List list = new ArrayList(); List 是一个接口, 接口使用的 ...
- ArrayList源码学习
可增长数组结构 实现: 1. 内部采用数组的方式. 1.1 添加元素,会每次校验容量是否满足, 扩容规则是当前数组长度+当前数组长度的二分之一.容量上限是Integer.MAX_VALUE. copy ...
- 比较ArrayList、LinkedList、Vector
翻译人员: 铁锚 翻译时间: 2013年12月2日 原文链接: ArrayList vs. LinkedList vs. Vector 1. List概述 List,就如图名字所示一样,是元素的有序列 ...
- 3月7日 ArrayList集合
ArrayList与数组的区别: 数组是连续的.同一类型数据的一块区域,而集合可以是不连续的.多种数据类型的. 1.ArrayList ArrayList al = new ArrayList(); ...
- 转 java c++互传arraylist
Java JNI由浅入深(包括:Java和C++互传ArrayList泛型对象参数) 2010-11-25 09:57 1694人阅读 评论(1) 收藏 举报 我们知道Java是一个运行在虚拟机里面的 ...
- List and ArrayList
List<> and ArrayList Class Diagrams Using the Bit Complement of the BinarySearch() Result 代码 ...
- java arraylist和list_Java中ArrayList和LinkedList区别
原文链接:http://pengcqu.iteye.com/blog/502676 一般大家都知道ArrayList和LinkedList的大致区别: 1.ArrayList是实现了基于动态数组的数据 ...
最新文章
- 2019年1月份访问量超过1千的文章
- 最长公共子序列LCS[C++题解]
- Mybatis入门及于hibernate的区别
- C 语言中的内存分析
- Linux下启动/关闭Oracle服务和 oracle监听启动/关闭/查看状态
- 阿帕奇链接mysql_apache guacamole 使用mysql 连接
- win7系统图标异常修复方法
- 20 MM配置-BP业务伙伴-定义业务伙伴和供应商编码保持一致
- mathpix公式利器使用心得
- 算法不归路之最大子序列(C++版)
- HiveQL学习笔记(二):Hive基础语法与常用函数
- 系统架构设计师教程-学习-记录(29)系统开发基础知识-软件开发方法(5)软件系统工具
- 如何查找孔与轴配合的公差带表
- Cdn英文的读音音标_教育 | 老司机请回答:孩子学英文自然拼读和中文拼音会不会混?...
- 计算机控制系统中a d是什么,计算机控制系统中,()代表模拟量输出。A、AIB、AOC、DID、DO - 试题答案网问答...
- 简单局域网聊天室--Java版
- 人人开源前后端分离部署到阿里云服务器
- 数据库开发与设计规范
- 解决“连接U8数据库服务器失败”的方法尝试
- ps4饥荒联机版服务器未响应,《饥荒联机版》国服的正确打开方式,你get到吗?...