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用法的更多相关文章

  1. Java中Iterator用法整理

    迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为“轻量级”对象,因为创建它的代价小. Java中的I ...

  2. Java 中Iterator 、Vector、ArrayList、List 使用深入剖析

    标签:Iterator Java List ArrayList Vector 线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构.这些 ...

  3. Java ArrayList、Vector和LinkedList等的差别与用法(转)

    Java ArrayList.Vector和LinkedList等的差别与用法(转) ArrayList 和Vector是采取数组体式格式存储数据,此数组元素数大于实际存储的数据以便增长和插入元素,都 ...

  4. Java笔记--Java的List、Iterator用法

    1. List的使用 准备知识: List继承自Collection接口.List是一种有序集合,List中的元素可以根据索引(顺序号:元素在集合中处于的位置信息)进行取得/删除/插入操作. 跟Set ...

  5. java——ArrayList中常见方法用法

    package com.xt.list; import java.util.ArrayList; import java.util.Iterator; import java.util.List; p ...

  6. Java学习笔记之ArrayList基本用法

    原文地址,转载请注明出处:https://blog.csdn.net/GongchuangSu/article/details/51514389 ArrayList简介 ArrayList是一个其容量 ...

  7. Java list的用法排序及遍历

    原文地址:http://baike.xsoftlab.net/view/208.html 1用法 ·ArrayList ·LinkedList 2排序 ·数字排序 ·中文排序 ·实体类排序 3遍历 · ...

  8. Java——ArrayList使用Demo

    三种遍历方式 通过迭代器Iterator遍历 通过get(索引值)遍历 for循环遍历 ArrayList使用Demo package list; import java.util.ArrayList ...

  9. java List的用法

    List的用法List包括List接口以及List接口的所有实现类.因为List接口实现了Collection接口,所以List接口拥有Collection接口提供的所有常用方法,又因为List是列表 ...

随机推荐

  1. ORA-01745: 无效的主机/绑定变量名 ORA-00917: 缺失的逗号 oracle日期格式错误

    今天在oracle中执行插入语句的时候报了一个奇怪的错误,在程序中报的错误是ORA-01745: 无效的主机/绑定变量名,网上一查说是缺失逗号,在查询分析器执行的时候报缺失的逗号,仔细看了一下也没有缺 ...

  2. linux-之常用命令

    Linux常用命令,长时间不用或者想用时具体的使用方法模糊了,可以进行查看,避免还要去其他地方进行查找麻烦,所以找了一些命令进行记录.   1.帮助命令 help 和 man 帮助查看命令的具体使用方 ...

  3. SHA安全散列算法简析

    1 SHA算法简介 1.1 概述 SHA (Secure Hash Algorithm,译作安全散列算法) 是美国国家安全局 (NSA) 设计,美国国家标准与技术研究院(NIST) 发布的一系列密码散 ...

  4. 九、VueJs 填坑日记之在项目中使用jQuery

    很多人学习 js 都是从 jQuery 开始的,我也不例外.有时候进行一些操作的时候,还是感觉 jQuery 比较好用,那么,我们如何在项目中使用 jQuery 呢?这篇博文带你实践. 引用 jQue ...

  5. shiro入门示例

    一.pom引入maven依赖 <dependencies> <dependency> <groupId>junit</groupId> <arti ...

  6. C++反汇编第一讲,认识构造函数,析构函数,以及成员函数

    C++反汇编第一讲,认识构造函数,析构函数,以及成员函数 以前说过在C系列下的汇编,怎么认识函数.那么现在是C++了,隐含有构造和析构函数 一丶认识构造函数 高级代码: class MyTest { ...

  7. ABAP中的AMDP(ABAP-Managed Database Procedures )

    ABAP管理下的数据库存储过程(ABAP-Managed Database Procedure,以下简称AMDP)是在APAP on SAP HANA开发中的一种优化模式.AMDP使用数据库语言书写, ...

  8. 关于如何在微信里面让video不全屏播放

    发现一个更简单的解决方法,加上一条属性即可.x5-video-player-type="h5″.通过设置这个属性,让video开启同层H5播放器.另外在X5内核里,video是单独的一个vi ...

  9. JavaScript OOP(二):this关键字以及call、apply、bind

    JavaScript的this关键字非常灵活! this 返回的总是对象:即返回属性或方法"当前"所在的对象 var o1={ name:'apple', age:100, msg ...

  10. Webpack飞行手册

    前言 在学习 Webpack 之前,我们需要了解一个概念:模块. 何为模块? 如果你曾学过 Java , C# 之类的语言,一定会知道 Java 中的 import 或 C# 中的 using 吧? ...