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) { // 需求:从三国演义中 ...
随机推荐
- Microsoft Visual Studio | VS打开解决方案时加载失败,或者出现错误提示
Microsoft Visual Studio | VS打开解决方案时加载失败,或者出现错误提示 1.加载失败并且输出状态栏也没什么错误提示的话,往往是因为一个低版本VS2010.VS2012等打开了 ...
- Python入门经典 以解决计算问题为导向的Python编程 待完好
1.4.2:python将代码分为两类:表达式和语句 表达式和语句:: 表达式(值和运算符的结合,将产生新值--返回值. 假设在python shell中输入表达式将显示返回值.也就是说,假设x的 ...
- CentOS安装java and javac(java执行环境和开发环境)
[root@localhost usr]# yum install java Loaded plugins: fastestmirror, refresh-packagekit, security R ...
- EventBus在Android中的简单使用
EventBus是一个方便与Android中各组件通信的开源框架,开源地址;https://github.com/greenrobot/EventBus.EventBus功能非常强大 ,今天在做一个功 ...
- 具体解释Java虚拟机类载入
概述 在Java语言里面,类型的载入.连接和初始化过程都是在程序运行期间完毕的.虚拟机把描写叙述类的数据从Class文件或其他地方载入到内存,并对数据进行校验.转换解析和初始化,终于形成能够被虚拟机直 ...
- SourceTree 基本介绍
Git的服务器端: 最出名的是GitHub,但是不能创建私有仓库,创建私有得需要Money Bitbucket:可以创建私有数据库,但是速度太慢,太消磨激情了 如果既想创建私有又想要激情,那只能自己搭 ...
- 关于APICloud读取不到虚拟机及数据库的问题
工具:apicloud编辑器 虚拟机:夜神虚拟机(nox_setup_v6.0.1.0_full)版本 数据库:Oracle 11G 以为夜神虚拟机版本太高,进程adb.exe读取不出虚拟机和数据库, ...
- python实现斐波那契数列(Fibonacci sequence)
使用Python实现斐波那契数列(Fibonacci sequence) 斐波那契数列形如 1,1,2,3,5,8,13,等等.也就是说,下一个值是序列中前两个值之和.写一个函数,给定N,返回第N个斐 ...
- linux(ubuntu) 搭建java程序运行环境
一:简介 ubuntu 系统的和linux差不多,我们需要在系统上搭建java程序运行环境,需要安装jdk,mysql这两个软件,tomcat是绿色版,直接通过taz -zxvf tomcat 就可以 ...
- CET-4- translation1
questions 2017/10/17 多年来,家长和老手都曾得到过这样一种信息(message):尽量利用任何机会表扬孩子,对他们所干的任何事情都要说好.据说这样做有助于提高孩子的自尊.但是近来许 ...