目录

1:ArrayList类概述

2:解释

3:ArrayList案例

存储字符串并遍历

存储自定义对象并遍历

去除集合中字符串的重复值(字符串的内容是否相同)


1:ArrayList类概述

底层数据结构是数组,查询快,增删慢 线程不安全,效率高

2:解释

由于ArrayLis类继承List而List继承Collection接口所以ArrayLis实现了他们的方法

3:ArrayList案例

存储字符串并遍历

package day25;import java.util.ArrayList;
import java.util.Iterator;public class Test1 {public static void main(String[] args) {ArrayList a = new ArrayList();//创建ArrayLis对象//添加元素a.add("hello");a.add("world");a.add("java");a.add("hadoop");//利用迭代器遍历集合Iterator iterator = a.iterator();while(iterator.hasNext()){Object next = iterator.next();System.out.println(next);}}
}

存储自定义对象并遍历

package day25;public class Student {private  int age;private  String name;public Student(int age, String name) {this.age = age;this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Student() {}@Overridepublic String toString() {return "Student{" +"age=" + age +", name='" + name + '\'' +'}';}
}
package day25;import java.util.ArrayList;
import java.util.Iterator;public class Test4 {public static void main(String[] args) {ArrayList a = new ArrayList();//创建ArrayList对象//创建三个学生对象Student s1 = new Student(18, "小华");Student s2 = new Student(19, "小亮");Student s3 = new Student(20, "小明");//将xuesh对象加入到集合中a.add(s1);a.add(s2);a.add(s3);//迭代器获取集合中每个元素Iterator iterator = a.iterator();while(iterator.hasNext()){Object next = iterator.next();Student s=(Student) next;//向下转型System.out.println(s.getName()+"**"+s.getAge());//输出学生姓名和年龄}}
}

去除集合中字符串的重复值(字符串的内容是否相同)

第一种:定义一个新数组来存储contains判断

package day25;import java.util.ArrayList;
import java.util.Iterator;public class Test5 {public static void main(String[] args) {ArrayList a = new ArrayList();//创建ArrayLis对象ArrayList b = new ArrayList();//添加元素a.add("hello");a.add("world");a.add("java");a.add("hadoop");a.add("hello");a.add("world");a.add("java");a.add("abc");//迭代器获取集合a中元素Iterator iterator = a.iterator();while(iterator.hasNext()){Object next = iterator.next();//判断b中是否有相同的元素,没有就添加到b中if(!b.contains(next)){b.add(next);}}//迭代器获取b中元素Iterator iterator1 = b.iterator();while(iterator1.hasNext()){Object next = iterator1.next();System.out.println(next);}}
}

第二种:双重循环利用选择排序与后面的数比较若是有重复就remove

package day25;import java.util.ArrayList;
import java.util.Iterator;public class Test6 {public static void main(String[] args) {ArrayList a = new ArrayList();//创建ArrayLis对象//添加元素a.add("hello");a.add("world");a.add("java");a.add("hadoop");a.add("hello");a.add("world");a.add("java");a.add("abc");//利用选择排序查找重复的元素for(int i=0;i<a.size();i++){for(int j=i+1;j<a.size()-1;j++){//判断要是有重复就删除,然后前移一个if(a.get(i).equals(a.get(j))){a.remove(j);--j;}}}//迭代器变量a集合Iterator iterator = a.iterator();while(iterator.hasNext()){Object next = iterator.next();System.out.println(next);}}
}

java基础之ArrayLis类相关推荐

  1. Java基础 ----常用时间类

    Java基础 ----常用时间类 java.util.Date java.util.Calendar java.text.SimpleDateFormat new Date().getTime() & ...

  2. Java基础:String类

    相关阅读 Java基础:String类 Java字符串格式化 Java基础:正则表达式 1. 概述 字符串是由多个字符组成的一串数据(字符序列),字符串可以看成是字符数组. 在实际开发中,字符串的操作 ...

  3. 多重继承_Python 和 Java 基础对比 10 —— 类的封装、继承和多态

    @Python大星 一.Python 类的封装.继承和多态 封装 继承 Python 支持多父类的继承机制,所以需要注意圆括号中基类的顺序,若是基类中有相同的方法名,并且在子类使用时未指定,Pytho ...

  4. 一文带你深入理解【Java基础】· 枚举类

    写在前面 Hello大家好, 我是[麟-小白],一位软件工程专业的学生,喜好计算机知识.希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正!谢谢大家!!! ...

  5. 【狂神说笔记—— Java基础07-常用类】

    Java基础07-常用类 Object类 大家都知道Object是所有类的父类,任何类都默认继承Object. 理论上Object类是所有类的父类,即直接或间接的继承java.lang.Object类 ...

  6. Java基础复习-常用类

    Java基础复习-常用类 本文仅对学习过程中所缺java知识点的查缺补漏复习 String 代表字符串.Java程序中的所有字符串字面值(如"abc")都作为此类的实例实现. St ...

  7. 【Java基础】UML类图及各种线代表的关系含义总结

    文章目录 一.UML常见图 1.类图(Class Diagram) 2.对象图(Object Diagram) 3.时序图(Sequence Diagram) 二.UML类图线的概括 1.类(Clas ...

  8. 大数据Java基础之常用类

    欢迎关注公众号: 9-1 字符串相关的类 String常用方法 9-2 JDK8之前日期时间API 9-4 Java比较器 9-5 System类 9-6 Math类 9-7 BigInteger与B ...

  9. Java基础:File类与IO流

    1. File类 1.1 概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. 1.2 构造方法 public File(String path ...

  10. 重学Java(035)——Java基础知识(类作为成员变量、接口作为成员变量、接口作为方法参数和返回值类型)

    学习内容:三种引用类型用法 一.类作为成员变量 二.接口作为成员变量 三.接口作为方法参数和返回值类型 实际的开发中,引用类型的使用非常重要,也是非常普遍的.我们可以在理解基本类型的使用方式基础上,进 ...

最新文章

  1. 未来的地下世界?《明日之后》打造专属半感染者的“未来都市”
  2. 蓝桥杯第七届省赛JAVA真题----剪邮票
  3. 题目1001:A+B for Matrices
  4. 【英语学习】【Level 07】U06 First Time L2 A good food experience
  5. SpringBoot入坑-请求参数传递
  6. Python 数据结构与算法——选取算法(TopK)
  7. C/C++ Linux 程序员必须了解的 10 个工具
  8. The pom for XXX is missing,no dependency information available
  9. 日本惊现史上最大数字货币被盗案,加密货币交易所疑遭黑客盗走620亿日元!
  10. 父与子编程之旅第六章节easyGUI下载+Python3.7下的安装问题解决
  11. Python面向对象加强2.Python 中类的内置属性和内置方法(魔法函数)
  12. 前端快速切图:PS切图常用快捷键、精准测量尺寸
  13. 阿里云服务器价格表:第7代云服务器ECS收费价格表
  14. linux 桌面美化指南,Linux_9方面立体式地美化Ubuntu桌面,总结了一下桌面美化的设置。 - phpStudy...
  15. 《按自己的意愿过一生》语录二
  16. 数据库系统学习笔记(3)
  17. 插件化原理解析——广播的管理
  18. 解决PHP报错:Call to undefined function array_column()
  19. JavaScript note
  20. 第三方解决方案与网络会员制营销案例

热门文章

  1. python手机版教程视频_Python教学app下载
  2. 努比亚修复工具_努比亚 X6 救砖教程 努比亚 NX601J恢复救砖教程
  3. php ip地址管理系统,phpIPAM – 免费开源的IP地址管理工具,重量级
  4. 禅道的下载和安装教程(Linux版)
  5. 【CASS精品教程】CASS 9.2绘制地籍图详细实验案例教程
  6. 地籍数据属性质检功能设计与实现
  7. 想批量转换音频?来试试这几个会议录音转文字软件
  8. C# Microsoft.Office.Interop.Word 将多个word合成一个并插入图片 转换成pdf
  9. ab st语言编程手册_罗克韦尔ab plc micrologix 1400 编程手册中文高清版 .pdf
  10. FGUI编辑器插件开发(不推荐使用,当做参考吧)