List容器-ArrayList
特点:
有序重复,包括null,通过整数索引访问
实现类ArrayList和LinkedList
ArrayList--动态数组 不线程同步 单线程合适
List<String> nList=new ArrayList<String>();
nList.add("A");
nList.add("B");
nList.add("C");
nList.add(1, "D");
nList.set(2, "tanlei");
//使用迭代器进行统一遍历
Iterator<String> lists =nList.iterator();
while(lists.hasNext()) {
String name=lists.next();
System.out.println(name);
}
//增强for循环遍历
for(String name : nList) {
System.out.println(name);
}
System.out.println("********");
System.out.println(nList.indexOf("C"));//返回此元素的索引
System.out.println(nList.remove("tanlei"));//删除首次出现的元素
System.out.println(nList.size());//返回列表中的元素数
System.out.println(nList.contains("tanlei"));//c查询元素中是否包含
System.out.println(nList.get(1));//通过下标访问
System.out.println(nList.isEmpty());//判断里面是否有内容
nList.clear();//清空元素
package com.day1; import java.util.ArrayList;
import java.util.List; public class ArrayListDemo2 {
public static void main(String[] args) {
List<Student> stulist=new ArrayList<Student>();
Student stu1=new Student("张三", 18);
Student stu2=new Student("李四", 20);
Student stu3=new Student("王五", 22);
stulist.add(stu1);
stulist.add(stu2);
stulist.add(stu3);
Student stu4=new Student("王五", 22);
System.out.println(stulist.indexOf(stu4));//查找stu4王五的下标 根据自己重写的equals方法
System.out.println(stulist.contains(stu4));//容器包含stu4
System.out.println(stulist.remove(stu4));//删除stu4其实是删掉了与stu4相同内容的stu3
System.out.println(stulist.indexOf(stu3));//找不到 -1
System.out.println(stulist.size());//大小为2 }
} class Student{
private String name;
private int age; public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
} @Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Student other = (Student) obj;
if (age != other.age)
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
} }
List容器-ArrayList的更多相关文章
- 数组容器(ArrayList)设计与Java实现,看完这个你不懂ArrayList,你找我!!!
数组容器(ArrayList)设计与Java实现 本篇文章主要跟大家介绍我们最常使用的一种容器ArrayList.Vector的原理,并且自己使用Java实现自己的数组容器MyArrayList,让自 ...
- 容器--ArrayList
一.前言 作为List的重要实现之一,ArrayList已经成了我们编写程序时不可或缺的重要容器之一,面试的时候也经常会被问到,所以,深入理解其实现机制,无论是对于我们正确使用这个类来说,还是准备面试 ...
- List容器——ArrayList及常用API
List: ① List容器是有序的collection(也称为序列).此接口的用户可以对List容器中每个元素的插入位置进行精确地控制.用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜 ...
- 练习:自己写一个容器ArrayList集合 一一数组综合练习2
package cn.bjsxt.collection; /** * 自己实现一个ArrayList */ import java.util.ArrayList; import java.util.L ...
- 练习:自己写一个容器ArrayList集合 一一数组综合练习
package cn.bjsxt.myCollection; import java.util.Arrays; /** * 天下文章一大抄,看你会抄不会抄. * 模拟Stringbuilder 写一个 ...
- 容器ArrayList原理(学习)
一.概述 动态数组,容量能动态增长,元素可以为null,用数组存储,非线程同步(vector线程同步) 每个 ArrayList 实例都有一个容量,该容量是指用来存储列表元素的数组的大小,自动增长(默 ...
- Java基础学习总结--对象容器
目录: ArrayList 顺序泛型容器 HashSet 集合容器 HashMap<Key,Value>容器 要用Java实现记事本的功能.首先列出记事本所需功能: 可以添加记录(字符串) ...
- 【Java学习笔记】<集合框架>定义功能去除ArrayList中的重复元素
import java.util.ArrayList; import java.util.Iterator; import cn.itcast.p1.bean.Person; public class ...
- [转] Java中的容器
在书写程序的时候,我们常常需要对大量的对象引用进行管理.为了实现有效的归类管理,我们常常将同类的引用放置在同一数据容器中. 由于数据容器中存放了我们随时可能需要使用到的对象引用,所以一般的数据容器要都 ...
随机推荐
- RandomRowFilter(3)
比较容易理解 用来随机抽取 RandomRowFilter:从名字上就可以看出其大概的用法,本过滤器的作用就是按照一定的几率(<=0会过滤掉所有的行,>=1会包含所有的行)来返回随机的结果 ...
- javascript基础:dom
Dom: * 概念:Document Object Model 文档对象模型 * 将标记语言文档的各个组成部分,封装成对象,可以使用这些对象,对标记语言文档进行CRUD的动态操作 * D ...
- Hadoop Serialization hadoop序列化详解(最新版) (1)【java和hadoop序列化比较和writable接口】
初学java的人肯定对java序列化记忆犹新.最开始很多人并不会一下子理解序列化的意义所在.这样子是因为很多人还是对java最底层的特性不是特别理解,当你经验丰富,对java理解更加深刻之后,你就会发 ...
- 全景还原报错现场 | 应用实时监控 ARMS 上线用户行为回溯功能
随着前端技术日新月异迅猛发展,为了实现更好的前端性能,最大程度提高用户体验,支持单页应用的框架逐渐占领市场,如众所周知的React,Vue等等.但是在单页应用的趋势下,快速定位并解决JS错误却成为一大 ...
- 【python之路33】开发模式单例模式及简单的服务器请求框架原理
1.单例模式指的是创建单个实例,例如:数据库连接池中包含10个数据库连接,用户访问数据时随机从连接池中拿出一个进行连接,其他用户再次访问时不再创建对象进行连接 #!usr/bin/env python ...
- leetcode 563 - 653
563. Binary Tree Tilt Input: 1 / \ 2 3 Output: 1 Explanation: Tilt of node 2 : 0 Tilt of node 3 : 0 ...
- H5C3--视频播放器
CSS css.css body { ; ; font-family: 'microsoft yahei', 'Helvetica', simhei, simsun, sans-serif; back ...
- hql 条件查询 返回空的一种情况
为何会出现查询为空,但是查询整个表没问题的情况呢? 这里是没有分清字符串和变量 原来写的是, String hql = "from ClientInfoModel where clientI ...
- io.spring.platform继承方式和import方式更改依赖版本号的问题
使用io.spring.platform时,它会管理各类经过集成测试的依赖版本号. 但有的时候,我们想使用指定的版本号,这个时候就需要去覆盖io.spring.platform的版本号. 前面的文章总 ...
- spring JdbcTemplate在spring的ioc中使用
package com.com.jdbctemplate; import org.springframework.context.ApplicationContext; import org.spri ...