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) { // 需求:从三国演义中 ...
随机推荐
- tf.train.ExponentialMovingAverage
这个函数可以参考吴恩达deeplearning.ai中的指数加权平均. 和指数加权平均不一样的是,tensorflow中提供的这个函数,能够让decay_rate随着step的变化而变化.(在训练初期 ...
- Python入门经典 以解决计算问题为导向的Python编程 待完好
1.4.2:python将代码分为两类:表达式和语句 表达式和语句:: 表达式(值和运算符的结合,将产生新值--返回值. 假设在python shell中输入表达式将显示返回值.也就是说,假设x的 ...
- HDOJ 4251 The Famous ICPC Team Again
划分树水题..... The Famous ICPC Team Again Time Limit: 30000/15000 MS (Java/Others) Memory Limit: 3276 ...
- jquery通过数值改变球大小
在业务中遇到一个问题:在页面上显示一个球.且球的大小会应数字的大小而改变. 我们都知道 js是能够画圆(用css样式准备一个圆.假设addClass),但这并非我们想要的. 于是笔者脑洞打开:用样式画 ...
- SQL语句 insert into 语句的写法
方式1: INSERT INTO t1(field1,field2) VALUE('001','002'); 最好的做法明确插入的每一列,列于查错,而且漏列的几率会降低! 方式2: INSERT IN ...
- jvm系列(十一):JVM演讲PPT分享
JVM PPT的演进文稿分享 此PPT长达46页,不方便在页面中全部展示,文中只展示了文稿的前十二页. 获取完整版请在公众号内回复"JVM".
- 为 Azure IoT Edge 设备部署 Azure Stream Analytics 服务
在前面的两篇文章<Azure IoT Edge on Windows 10 IoT Core>和<Azure IoT Edge on Raspberry Pi 3 with Rasp ...
- iOS开发解决json串中的NSNull类型
后端返回的数据中总会出现一些NSNull类型,当我们一处理程序就会崩溃,因此想到把返回的数据中的NSNull类型全部转换成@""空字符串.下面是转化方法: 1 自定义的几个方法:放 ...
- 获取手机安装的所有包名adb shell pm list packages
获取所有已安装包的包名:adb shell pm list packages 查找:adb shell pm list packages|findstr suning
- 计算机和HMI设备通信之程序上下载
1.传送模式 2.串行接口传送HMI,软件采用Wincc flexable smart v3 3.设置HMI设备,给HMI设备上电 打开控制面板,双击Transfer 使能Enable Channel ...