Java学习笔记27(集合框架一:ArrayList回顾、Collection接口方法)
集合:集合是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接口方法)的更多相关文章
- 【Java学习笔记】<集合框架>定义功能去除ArrayList中的重复元素
import java.util.ArrayList; import java.util.Iterator; import cn.itcast.p1.bean.Person; public class ...
- 【Java学习笔记】<集合框架>TreeSet,Comparable,Comparator
public class Person implements Comparable{ private String name; private int age; public Person(){ su ...
- 【Java学习笔记】<集合框架>对字符串进行长度排序
package 测试; import java.util.Comparator; public class ComparatorByLength implements Comparator { //定 ...
- Java学习笔记之---集合
Java学习笔记之---集合 (一)集合框架的体系结构 (二)List(列表) (1)特性 1.List中的元素是有序并且可以重复的,成为序列 2.List可以精确的控制每个元素的插入位置,并且可以删 ...
- Java基础学习笔记十七 集合框架(三)之Map
Map接口 通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图. Collection中的集合,元素是孤立存在的(理解为单身),向集合中存 ...
- java学习笔记之集合—ArrayList源码解析
1.ArrayList简介 ArrayList是一个数组队列,与java中的数组的容量固定不同,它可以动态的实现容量的增涨.所以ArrayList也叫动态数组.当我们知道有多少个数据元素的时候,我们用 ...
- Java学习笔记之集合
集合(Collection)(掌握) (1)集合的由来? 我们学习的是Java -- 面向对象 -- 操作很多对象 -- 存储 -- 容器(数组和StringBuffer) -- 数组而数组的长度固定 ...
- JavaSE 学习笔记之集合框架(十八)
集合框架:,用于存储数据的容器. 特点: 1:对象封装数据,对象多了也需要存储.集合用于存储对象. 2:对象的个数确定可以使用数组,但是不确定怎么办?可以用集合.因为集合是可变长度的. 集合和数组的区 ...
- 【原】Java学习笔记026 - 集合
package cn.temptation; public class Sample01 { public static void main(String[] args) { // 需求:从三国演义中 ...
随机推荐
- JAVA入门[1]--安装JDK
1.下载JDK并安装 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html ...
- jmeter的使用---web测试
jmeter的使用---web测试 url:http://127.0.0.1:1080/WebTours/ 1.通过badboy录制脚本 1.1输入url点击右侧的跳转按钮,随后右侧显示url界面 1 ...
- Hello Docker
Docker: Build, Ship, and Run Any App, Anywhere 在任何地方构建.交付和运行任何应用 1. 引言 最近简单的学习了下Docker,本文先简要梳理下Docke ...
- MySql基础总结
1.创建一个表 CREATE TABLE customers ( cust_id INT NOT NULL AUTO_INCREMENT, cust_name CHAR(50) NOT NULL , ...
- JavaSe:Comparator
今天,公司里有一个萌萌的妹子问我java 中的comparator是怎么回事.参数分别是什么,返回值又是什么,为此,我写了一个简单的程序告诉了她: public static void main (S ...
- spring boot自定义starter
1.spring boot 项目中自定义jar包 2.项目目录 3.src/main/java 下面写自己的方法,重点是 resources 下面的文件,在resources下面新建文件夹名字为 ME ...
- 【python】函数参数关键字索引、参数指定默认值、搜集参数
- python学习日记:day11-----装饰器
1,time模块 import time print(time.sleep())#让程序在执行到这个位置到时候停一会 print('哈哈哈') 获取当前时间 import time time.time ...
- 如何用VSCode愉快的写Python
在学习Python的过程中,一直没有找到比较趁手的第三方编辑器,用的最多的还是Python自带的编辑器.由于本人用惯了宇宙第一IDE(Visual Studio),所以当Visual Studio C ...
- 谈谈对Python的感想
写在前面 我用Python已经好几年了,最早学习用Python还是因为对人工神经网络感兴趣,python有个很好用的ANN库neurolab.本人其实也算初学者,充其量算入门了吧,写这篇一来回顾自己所 ...