这篇文章只讨论关于List j集合的使用,Set和Map我将持续更新。。。
List 与数组很像,但是比数组更灵活。
ArrayList与LinkedList 在使用上是一样的,但是内在的结构不同,我在某站上听课时,一个讲师说,他们的方法一样,目的是为了让java的学习成本降低,不用记那么多。废话不多说,直接上使用方法
创建
List与数组的区别是:数据量可以动态变化。
集合就想象成一个容器,可以往里添东西 .add()
List ,存放的数据可重复,且有顺序
List转数组: .toArray()
ArrayList :底层就是Object 数组 查询很快,增删比 LinkedList很慢。
1.添加数据 集合对象名.add(实参)
2.删除数据 集合对象名.remove(下标) ; 集合对象名.remove(指定内容):注:需要给集合指定泛型
3.修改数据 : 集合对象名.set(下标,新值)
4.查询数据 : 单个查询: 集合对象名。get(下标)
遍历集合,三种方式:
第三种,慎用,太新了,如果要求兼容性好,就用第一种,健壮,不容易在别的机器上跑不起来
LinkedList: 底层是链表。增删很快,查询比ArrayList慢。
LinkedList 与ArrayList使用上完全相同,改一下 new 后面的 就好
eg: List book1List = new ArrayList();
List book1List = new LinkedList();
book1List 这个对象能使用相同的方法,区别就是底层结构的不同,不懂就看上面哈。
package com.java;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
/**
* 泛型:给集合指定具体存放的数据类型,只能存放自定义数据类型
*/
public class Demo3 {
public static void main(String[] args) {
List<String> book1List = new LinkedList<String>();
book1List.add("java从入门到放弃");
book1List.add("cop从入门到放弃");
book1List.add("ps从入门到精通");
book1List.add("sm从入门到捆绑");
// 将 list 复制
List<String> book2List = new LinkedList<String>(book1List);
book2List.forEach(temp->{
System.out.println(temp);
});
System.out.println("-----------------------------");
//将list集合转成数组
Object [] obj = book1List.toArray(); //List转数组
for(Object temp: obj){
System.out.println(temp+"");//字符串加上任何数据类型都是字符串,牛啊! //数据类型转成字符串,直接加""就好
}
}
}
具体的方法以及方法的返回值啥请进入Oracle的官网查看APIhahhha,(向我一样英语不好的,就用google浏览器,直接翻译成中文就可以看懂了。)
sout :自己的笔记,随意看看,有问题留言,大家一起交流呀