集合:集合是java中提供的一种容器,可以用来存储多个数据

集合和数组的区别:

1.数组的长度是固定的,集合的长度是可变的

2.集合中存储的元素必须是引用类型数据

对ArrayList集合的回顾

示例:

package demo;

public class Person {
private String name;
private int 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 String toString() {
return "Person [name=" + name + ", age=" + age + "]";
} public Person() {
} public Person(String name, int age) {
super();
this.name = name;
this.age = age;
} }
package demo;

import java.util.ArrayList;

public class ArrayListDemo {
public static void main(String[] args) {
// ArrayList复习
// 存储基本数据
ArrayList<Integer> array = new ArrayList<>();
array.add(1);// 自动装箱
array.add(2);
array.add(3);
array.add(4);
array.add(5);
for (int i = 0; i < array.size(); i++) {
System.out.println(array.get(i));
} // 存储自定义类Person对象
ArrayList<Person> arrayPerson = new ArrayList<Person>();
arrayPerson.add(new Person("a", 20));
arrayPerson.add(new Person("b", 18));
arrayPerson.add(new Person("c", 19));
for (int i = 0; i < arrayPerson.size(); i++) {
System.out.println(arrayPerson.get(i));
//调用类重写的toString方法
}
}
}
/*输出:
2
3
4
5
Person [name=a, age=20]
Person [name=b, age=18]
Person [name=c, age=19]
*/

Collection接口是集合的根接口,研究它的方法应当通过它的实现类,

List继承了Collection,ArrayList实现了List接口,可以通过ArrayList研究Collection的部分方法:

示例:

package demo;

import java.util.ArrayList;
import java.util.Collection; public class CollectionDemo {
public static void main(String[] args) {
function1();
function2();
function3();
} public static void function1() {
// 利用多态的特性
Collection<String> c1 = new ArrayList<String>();
// 存入元素,有序集合
c1.add("abc");
c1.add("def");
boolean b1 = c1.contains("abc");
System.out.println(b1);// true,集合中是否包含这个元素
c1.size();// 集合的大小,存入元素个数
c1.clear();// 清空集合中的元素,集合本身存在
} public static void function2() {
// 得到一个存储对象的数组
Collection<String> c1 = new ArrayList<String>();
c1.add("abc");
c1.add("def");
c1.add("ghi");
Object[] obj1 = c1.toArray();
for (int i = 0; i < obj1.length; i++) {
System.out.println(obj1[i]);
}
} public static void function3() {
// 删除元素
Collection<String> c1 = new ArrayList<String>();
c1.add("abc");
c1.add("def");
c1.add("ghi");
boolean b1 = c1.remove("abc");
System.out.println(b1);// true
// 是否删除成功,如果元素不存在,则删除失败
System.out.println(c1);// [def, ghi]
// 如果有重复元素的话,就删除第一个
}
}

Java学习笔记27(集合框架一:ArrayList回顾、Collection接口方法)的更多相关文章

  1. 【Java学习笔记】<集合框架>定义功能去除ArrayList中的重复元素

    import java.util.ArrayList; import java.util.Iterator; import cn.itcast.p1.bean.Person; public class ...

  2. 【Java学习笔记】<集合框架>TreeSet,Comparable,Comparator

    public class Person implements Comparable{ private String name; private int age; public Person(){ su ...

  3. 【Java学习笔记】<集合框架>对字符串进行长度排序

    package 测试; import java.util.Comparator; public class ComparatorByLength implements Comparator { //定 ...

  4. Java学习笔记之---集合

    Java学习笔记之---集合 (一)集合框架的体系结构 (二)List(列表) (1)特性 1.List中的元素是有序并且可以重复的,成为序列 2.List可以精确的控制每个元素的插入位置,并且可以删 ...

  5. Java基础学习笔记十七 集合框架(三)之Map

    Map接口 通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图. Collection中的集合,元素是孤立存在的(理解为单身),向集合中存 ...

  6. java学习笔记之集合—ArrayList源码解析

    1.ArrayList简介 ArrayList是一个数组队列,与java中的数组的容量固定不同,它可以动态的实现容量的增涨.所以ArrayList也叫动态数组.当我们知道有多少个数据元素的时候,我们用 ...

  7. Java学习笔记之集合

    集合(Collection)(掌握) (1)集合的由来? 我们学习的是Java -- 面向对象 -- 操作很多对象 -- 存储 -- 容器(数组和StringBuffer) -- 数组而数组的长度固定 ...

  8. JavaSE 学习笔记之集合框架(十八)

    集合框架:,用于存储数据的容器. 特点: 1:对象封装数据,对象多了也需要存储.集合用于存储对象. 2:对象的个数确定可以使用数组,但是不确定怎么办?可以用集合.因为集合是可变长度的. 集合和数组的区 ...

  9. 【原】Java学习笔记026 - 集合

    package cn.temptation; public class Sample01 { public static void main(String[] args) { // 需求:从三国演义中 ...

随机推荐

  1. php两个问号??表示什么意思,PHP两个问号运算符,双问号表达式

    有同学给子恒老师留言, 说在php源代码中看到有两个问号?? 不知道是什么意思. 其实两个问题??是php7新推出的表达式, c = a ?? b; 表示如果a非空,则c = a, 如果a为空,则 c ...

  2. linux进程标识符具体解释1

    每一个进程都有一个实际用户标识符和一个实际组标识符,它们永远是启动该进程之用户的用户标识符和组标识符. 进程的有效用户标识符和有效组标识符或许更重要些,它们被用来确定一个用户是否能訪问某个确定的文件. ...

  3. 如何通过PowerShell获取Office 365 TenantID

    作者:陈希章 发表于2017年5月31日 安装Azure Powershell 模块 Installing the Azure PowerShell Service Management module ...

  4. eclipse中JPA插件的安装与使用

    说明 上周实验室学习了数据库设计相关的内容,其中涉及到将数据库实体化的问题,JPA是一个很好的实现工具,便开始着手于JPA的学习.因为JPA涉及到的知识还是挺多的,需要学习许多新的知识,所以对于JPA ...

  5. 【python】函数filter、map

  6. HTML5 桌面通知:Notification API

    原文地址:http://blog.gdfengshuo.com/article/23/ 前言 Notification API 是 HTML5 新增的桌面通知 API,用于向用户显示通知信息.该通知是 ...

  7. web前端优化整理(转)

    如今浏览器能够实现的特性越来越多,并且网络逐渐向移动设备转移,使我们的前端代码更加紧凑,如何优化,就变得越来越重要了. 开发人员普遍会将他们的代码习惯优先于用户体验.但是很多很小的改变可以让用户体验有 ...

  8. Xamarin android SwipeRefreshLayout入门实例

    android SwipeRefreshLayout 是实现的效果就是上滑下拉刷新ListView 获取其他控件数据.基本上每个App都有这种效果.Google提供了一个官方的刷新控件SwipeRef ...

  9. 什么是WAL?

    在写完上一篇<Pull or Push>之后,原本计划这一片写<存储层设计>,但是临时改变主意了,想先写一篇介绍一下消息中间件最最基础也是最核心的部分:write-ahead ...

  10. [C#]使用Redis来存储键值对(Key-Value Pair)

    本文为原创文章.源代码为原创代码,如转载/复制,请在网页/代码处明显位置标明原文名称.作者及网址,谢谢! 开发工具:VS2017 语言:C# DotNet版本:.Net FrameWork 4.5及以 ...