【java】ArrayList、Iterator用法
package com.tn.collect; import java.util.ArrayList;
import java.util.Iterator; class Product{
public Product() {
super();
// TODO Auto-generated constructor stub
}
public Product(int id, String name, int price) {
// TODO Auto-generated constructor stub
setId(id);
setName(name);
setPrice(price);
}
private int id;
private String name;
private double price;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
@Override
public String toString() {
return "Product [id=" + id + ", name=" + name + ", price=" + price
+ "]";
}
}
public class ArrayListLearning {
public static void main(String[] args){
Product product1=new Product(1001,"奇瑞",99999);
Product product2=new Product(1002,"江淮",88888);
Product product3=new Product(1003,"比亚迪",77777);
ArrayList arrayList=new ArrayList();
arrayList.add(product1);
arrayList.add(product2);
arrayList.add(product3);
System.out.println(arrayList);//会打印容器中每个对象的toString
System.out.println(arrayList.size());
Object object=arrayList.get(0);
System.out.println(object);
Product product=(Product)arrayList.get(0);
System.out.println(arrayList.get(0));
Product product4=new Product(1004,"力帆",66666);
Product product5=new Product(1005,"吉利",55555);
Product productx=new Product(1005,"吉利",55555);
ArrayList<Product> list=new ArrayList<Product>();
list.add(product4);
list.add(product5);
Product product6=list.get(0);
System.out.println(product6); //遍历方法一:
for(int i=0;i<list.size();i++){
Product pro=list.get(i);
System.out.println(pro);
} //遍历方法二:
Iterator<Product> iterator=list.iterator();
while(iterator.hasNext()){
Product pro=iterator.next();
} //遍历方法三:
for(Object obj:list){
Product pro=(Product)obj;
} System.out.println(list.contains(product5));
System.out.println(list.contains(productx));//对象创建是两个,但实际应用中这两个对象应该是一个
}
}
ArrayList
运行结果:
[Product [id=1001, name=奇瑞, price=99999.0], Product [id=1002, name=江淮, price=88888.0], Product [id=1003, name=比亚迪, price=77777.0]]
3
Product [id=1001, name=奇瑞, price=99999.0]
Product [id=1001, name=奇瑞, price=99999.0]
Product [id=1004, name=力帆, price=66666.0]
Product [id=1004, name=力帆, price=66666.0]
Product [id=1005, name=吉利, price=55555.0]
true
false
package com.tn.collect; import java.util.ArrayList;
import java.util.Iterator; class Product{
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Product other = (Product) obj;
if (id != other.id)
return false;
return true;
}
public Product() {
super();
// TODO Auto-generated constructor stub
}
public Product(int id, String name, int price) {
// TODO Auto-generated constructor stub
setId(id);
setName(name);
setPrice(price);
}
private int id;
private String name;
private double price;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
@Override
public String toString() {
return "Product [id=" + id + ", name=" + name + ", price=" + price
+ "]";
}
}
public class ArrayListLearning {
public static void main(String[] args){
Product product1=new Product(1001,"奇瑞",99999);
Product product2=new Product(1002,"江淮",88888);
Product product3=new Product(1003,"比亚迪",77777);
ArrayList arrayList=new ArrayList();
arrayList.add(product1);
arrayList.add(product2);
arrayList.add(product3);
System.out.println(arrayList);//会打印容器中每个对象的toString
System.out.println(arrayList.size());
Object object=arrayList.get(0);
System.out.println(object);
Product product=(Product)arrayList.get(0);
System.out.println(arrayList.get(0));
Product product4=new Product(1004,"力帆",66666);
Product product5=new Product(1005,"吉利",55555);
Product productx=new Product(1005,"吉利",55555);
ArrayList<Product> list=new ArrayList<Product>();
list.add(product4);
list.add(product5);
Product product6=list.get(0);
System.out.println(product6); //遍历方法一:
for(int i=0;i<list.size();i++){
Product pro=list.get(i);
System.out.println(pro);
} //遍历方法二:
Iterator<Product> iterator=list.iterator();
while(iterator.hasNext()){
Product pro=iterator.next();
} //遍历方法三:
for(Object obj:list){
Product pro=(Product)obj;
} System.out.println(list.contains(product5));
System.out.println(list.contains(productx));//对象创建是两个,但实际应用中这两个对象应该是一个
}
}
重写equals方法后
运行结果:
[Product [id=1001, name=奇瑞, price=99999.0], Product [id=1002, name=江淮, price=88888.0], Product [id=1003, name=比亚迪, price=77777.0]]
3
Product [id=1001, name=奇瑞, price=99999.0]
Product [id=1001, name=奇瑞, price=99999.0]
Product [id=1004, name=力帆, price=66666.0]
Product [id=1004, name=力帆, price=66666.0]
Product [id=1005, name=吉利, price=55555.0]
true
true
【java】ArrayList、Iterator用法的更多相关文章
- Java中Iterator用法整理
迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为“轻量级”对象,因为创建它的代价小. Java中的I ...
- Java 中Iterator 、Vector、ArrayList、List 使用深入剖析
标签:Iterator Java List ArrayList Vector 线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构.这些 ...
- Java ArrayList、Vector和LinkedList等的差别与用法(转)
Java ArrayList.Vector和LinkedList等的差别与用法(转) ArrayList 和Vector是采取数组体式格式存储数据,此数组元素数大于实际存储的数据以便增长和插入元素,都 ...
- Java笔记--Java的List、Iterator用法
1. List的使用 准备知识: List继承自Collection接口.List是一种有序集合,List中的元素可以根据索引(顺序号:元素在集合中处于的位置信息)进行取得/删除/插入操作. 跟Set ...
- java——ArrayList中常见方法用法
package com.xt.list; import java.util.ArrayList; import java.util.Iterator; import java.util.List; p ...
- Java学习笔记之ArrayList基本用法
原文地址,转载请注明出处:https://blog.csdn.net/GongchuangSu/article/details/51514389 ArrayList简介 ArrayList是一个其容量 ...
- Java list的用法排序及遍历
原文地址:http://baike.xsoftlab.net/view/208.html 1用法 ·ArrayList ·LinkedList 2排序 ·数字排序 ·中文排序 ·实体类排序 3遍历 · ...
- Java——ArrayList使用Demo
三种遍历方式 通过迭代器Iterator遍历 通过get(索引值)遍历 for循环遍历 ArrayList使用Demo package list; import java.util.ArrayList ...
- java List的用法
List的用法List包括List接口以及List接口的所有实现类.因为List接口实现了Collection接口,所以List接口拥有Collection接口提供的所有常用方法,又因为List是列表 ...
随机推荐
- laravel whereDate()方法的使用
今天在做日期查询,过过滤的时候,发现了一个问题,用where()语句,要求时间格式比较严格,比如你要查2017-09-23这一天的活动,你在输入框传入2017-09-23,系统会默认帮你补上后面缺少的 ...
- Activity切换动画---点击哪里从哪放大
emmmm,这次来梳理一下 Activity 切换动画的研究.首先,老规矩,看一下效果图: 效果图 这次要实现的动画效果就是类似于上图那样,点击某个 view,就从那个 view 展开下个 Activ ...
- LINQ学习系列-----1.4 匿名对象
本篇内容接着上一篇继续讲述,本篇简单讲解匿名对象 一.匿名对象介绍 上代码: var result=new { ID=, Name="张三", Age= ...
- [Asp.Net Core] 1. IIS中的 Asp.Net Core 和 dotnet watch
在基于传统的.NET Framework的Asp.Net Mvc的时候,本地开发环境中可以在IIS中建立一个站点,可以直接把站点的目录指向asp.net mvc的项目的根目录.然后build一下就可以 ...
- JAVA基础5——与String相关的系列(2)
差异点比较 String使用+直接拼接 这种情况需要分两种情况来讨论: 1. 都是确定的字符串常量之间进行的+号拼接的时候,由于在编译器就可以确定其具体值了,所以编译器在编译期的时候就会把这些常量拼接 ...
- OC语言的面向对象—类和对象、方法
1. 面向对象和面向过程思想 OC是面向对象的,C是面向过程的.面向对象和面向过程只是解决问题的两种不同思想 1. 面向对象和面向过程的区别 1) 以用电脑听歌为例子 a) 面向过程 ➢ 打开电脑 ➢ ...
- java基础回顾(一)
java的特点:开源.安全.跨平台.简单易懂.一次编译可多处运行. JDK:java开发工具包 JDK = JRE+JAVA开发工具 保证能够实现java开发的最小单元 JRE:java运行环境 JR ...
- Android 软键盘的显示和隐藏,这样操作就对了
一.前言 如果有需要用到输入的地方,通常会有需要自动弹出或者收起软键盘的需求.开篇明义,本文会讲讲弹出和收起软键盘的一些细节,最终还会从源码进行分析. 想要操作软键盘,需要使用到 InputMetho ...
- dedecms注入漏洞
版本:Powered by DedeCMSV57_GBK © 2004-2011 DesDev Inc. 漏洞利用EXP:plus/recommend.php?action=&aid=1&am ...
- CentOS下redis集群安装
环境: 一台CentOS虚拟机上部署六个节点,创建3个master,3个slave节点 1.下载并解压 cd /root wget http://download.redis.io/releases/ ...