1.ArrayList中添加,获取,删除元素;

2.ArrayList中是否包含某个元素;

3.ArrayList中根据索引将元素数值改变(替换);

4.ArrayList中查看(判断)元素的索引;  

5.根据元素索引位置进行的判断;

6.利用ArrayList中索引位置重新生成一个新的ArrayList(截取集合);

7.对比两个ArrayList中的所有元素;

8.判断ArrayList是否为空;

9.返回Iterator集合对象;

10.将集合转换为字符串;

11.将集合转换为数组;

12.集合类型转换;

13.去重复;

完整代码

package com.java.section10;

/**
* <p>Title: ArrayListDemo.java</p>
* @author daxiang
* @version 1.0 创建时间:2018年5月8日 下午9:21:22
*/ import java.util.ArrayList;
import java.util.List; public class ArrayListDemo { public static void main(String[] args) { // list中添加,获取,删除元素
List<String> person = new ArrayList<>();
person.add("jackie");   // 索引为0 //.add(e)
person.add("peter");   // 索引为1
person.add("annie");   // 索引为2
person.add("martin"); // 索引为3
person.add("marry"); // 索引为4 person.remove(3); // .remove(index)
person.remove("marry"); // .remove(Object o) String per = "";
per = person.get(1);
System.out.println(per); //// .get(index) for (int i = 0; i < person.size(); i++) {
System.out.println(person.get(i));
} // list总是否包含某个元素
List<String> fruits = new ArrayList<>();
fruits.add("苹果");
fruits.add("香蕉");
fruits.add("桃子");
// for循环遍历list
for (int i = 0; i < fruits.size(); i++) {
System.out.println(fruits.get(i));
}
String appleString = "苹果";
// true or false
System.out.println("fruits中是否包含苹果:" + fruits.contains(appleString)); if (fruits.contains(appleString)) {
System.out.println("我喜欢吃苹果");
} else {
System.out.println("我不开心");
} // list中根据索引将元素数值改变(替换)
String a = "白龙马", b = "沙和尚", c = "八戒", d = "唐僧", e = "悟空";
List<String> people = new ArrayList<>();
people.add(a);
people.add(b);
people.add(c);
people.set(0, d); // .set(index, element) //将d唐僧放到list中索引为0的位置,替换a白龙马
people.add(1, e); // .add(index, element);
//将e悟空放到list中索引为1的位置,原来位置的b沙和尚后移一位 // 增强for循环遍历list
for (String str : people) {
System.out.println(str);
} // list中查看(判断)元素的索引
List<String> names = new ArrayList<>();
names.add("刘备"); // 索引为0
names.add("关羽"); // 索引为1
names.add("张飞"); // 索引为2
names.add("刘备"); // 索引为3
names.add("张飞"); // 索引为4
System.out.println(names.indexOf("刘备"));
System.out.println(names.lastIndexOf("刘备"));
System.out.println(names.indexOf("张飞"));
System.out.println(names.lastIndexOf("张飞")); // 根据元素索引位置进行的判断
if (names.indexOf("刘备") == 0) {
System.out.println("刘备在这里");
} else if (names.lastIndexOf("刘备") == 3) {
System.out.println("刘备在那里");
} else {
System.out.println("刘备到底在哪里?");
} // 利用list中索引位置重新生成一个新的list(截取集合)
List<String> phone = new ArrayList<>();
phone.add("三星"); // 索引为0
phone.add("苹果"); // 索引为1
phone.add("锤子"); // 索引为2
phone.add("华为"); // 索引为3
phone.add("小米"); // 索引为4 // 原list进行遍历
for (String pho : phone) {
System.out.println(pho);
} // 生成新list
phone = phone.subList(1, 4); // .subList(fromIndex, toIndex)
//利用索引1-4的对象重新生成一个list,但是不包含索引为4的元素,4-1=3
for (int i = 0; i < phone.size(); i++) {
     // phone.size()
// 该方法得到list中的元素数的和
System.out.println("新的list包含的元素是" + phone.get(i));
} // 对比两个list中的所有元素
// 两个相等对象的equals方法一定为true, 但两个hashcode相等的对象不一定是相等的对象
if (person.equals(fruits)) {
System.out.println("两个list中的所有元素相同");
} else {
System.out.println("两个list中的所有元素不一样");
} if (person.hashCode() == fruits.hashCode()) {
System.out.println("我们相同");
} else {
System.out.println("我们不一样");
} // 判断list是否为空
// 空则返回true,非空则返回false
if (person.isEmpty()) {
System.out.println("空的");
} else {
System.out.println("不是空的");
} // 返回Iterator集合对象
System.out.println("返回Iterator集合对象:" + person.iterator()); // 将集合转换为字符串
String liString = "";
liString = person.toString();
System.out.println("将集合转换为字符串:" + liString); // 将集合转换为数组,默认类型
System.out.println("将集合转换为数组:" + person.toArray()); // 将集合转换为指定类型(友好的处理)
// 1.默认类型
List<Object> listsStrings = new ArrayList<>();
for (int i = 0; i < person.size(); i++) {
listsStrings.add(person.get(i));
}
// 2.指定类型
List<StringBuffer> lst = new ArrayList<>();
for (String string : person) {
lst.add(StringBuffer(string));
} } private static StringBuffer StringBuffer(String string) {
return null;
} }

  

Java基础--集合解析-ArrayList的更多相关文章

  1. Java基础-集合框架-ArrayList源码分析

    一.JDK中ArrayList是如何实现的 1.先看下ArrayList从上而下的层次图: 说明: 从图中可以看出,ArrayList只是最下层的实现类,集合的规则和扩展都是AbstractList. ...

  2. Java基础-集合的嵌套

    Java基础-集合的嵌套 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.静态导入 静态导入是在JDK1.5后的新特性,可以减少开发的代码量,但是实际用处是很一般,静态导入的标准 ...

  3. JAVA基础-集合(二)

    一.Map整体结构体系 Map是集合的另一大派系,与Collection派系不同的是Map集合是以键值对儿的形式存储在集合的.两个键为映射关系,其中第一个键为主键(主键是唯一的不可重复),第二个键为v ...

  4. Java基础——集合框架

    Java的集合框架是Java中很重要的一环,Java平台提供了一个全新的集合框架.“集合框架”主要由一组用来操作对象的接口组成.不同接口描述一组不同数据类型.Java平台的完整集合框架如下图所示: 上 ...

  5. Java基础—集合

    一.概述 Java中的集合框架主要分为两大派别:Collection 和 Map —— 位于util包下 类的基础关系图如下(图片来自百度) 常用: List——有序可重复 Set——无序不可重复 M ...

  6. Java基础集合简单总结

    集合 Collection单列集合有List 和 Set List集合有: ArrayList集合 特点: 1.存取有序 可以重复 有索引 2.底层是数组实现,查询快,增删慢 ArrayList底层: ...

  7. java基础---集合(1)

    一. 基本概念 集合.数组都是对多个数据进行存储操作的结构,简称Java容器 数组:长度确定,类型确定,对于添加.删除.插入等操作效率不高,元素有序可重复 Java中集合框架顶层框架是:java.ut ...

  8. C#语言基础——集合(ArrayList集合)

    集合及特殊集合 集合的基本信息: System.Collections 命名空间包含接口和类,这些接口和类定义各种对象(如列表.队列.位数组.哈希表和字典)的集合.System.Collections ...

  9. Java基础——集合源码解析 List List 接口

    今天我们来学习集合的第一大体系 List. List 是一个接口,定义了一组元素是有序的.可重复的集合. List 继承自 Collection,较之 Collection,List 还添加了以下操作 ...

随机推荐

  1. golang中http编程

    1. http server package main import ( "fmt" "net/http" ) func main() { // 请求url和对 ...

  2. golang中的25个关键字

    Go 语言中会使用到的 25 个关键字或保留字: 1. 程序声明 import 导入 package 包 2. 程序实体声明和定义 chan 通道 var 变量声明 const 常量声明 func 用 ...

  3. IEEE754浮点数表示法

    IEEE二进制浮点数算术标准(ANSI/IEEE Std 754-1985)是一套规定如何用二进制表示浮点数的标准.就像"补码规则"建立了二进制位和正负数的一一对应关系一样,IEE ...

  4. 字的研究(2)Fonttools-字体文件的解析

    前言 本文主要介绍如果使用Python第三方库fontTools对TrueType字体文件(指使用TrueType描述轮廓的OpenType字体文件)的解析.修改和创建等操作. fontTools简介 ...

  5. python函数关键字实参传参

    #!/usr/bin/python #coding=utf-8 #好好学习,天天向上 def describe_pet(type,name): print(f"i have a {type} ...

  6. @ResponeBody 和 @RequestBody

    一.补充注解?1.@ResponseBody 将数据转成json 并输出到响应流中2.@RequestBody 将请求中的json数据转换成java对象.1.1 jsp页面 增添两个点击事件. 1.2 ...

  7. ApacheCN Linux 译文集(二) 20211206 更新

    CentOS7 Linux 服务器秘籍 零.前言 一.安装 CentOS 二.配置系统 三.管理系统 四.用 YUM 管理包 五.管理文件系统 六.提供安全性 七.构建网络 八.使用文件传输协议 九. ...

  8. 解决SpringBoot连接Nacos集群报400问题

    问题描述 搭建一个Nacos集群,使用 SpringBoot 程序连接 Nacos 集群,在启动的时候报异常,程序启动失败,而后程序假死.详细控制台日志信息如下: failed to req API: ...

  9. SpringBoot Log4j 安全漏洞分析及解决方案

    一.序言 SpringBoot作为Java基础框架大行其道,前不久爆发出Log4j安全漏洞,大众更多关心Log4j的危害是多么严重,然而鲜有关心SpringBoot这一底层框架的安全性问题,换而言之, ...

  10. sqlserver查出来的数据丢失

    问题描述 今天利用sqlserver查数据,使用了一个ROUND(308.16000, 2)函数,发现在sqlserver工具中显示正常,但是在服务端查出来就会发生精度丢失问题. ROUND和CAST ...