api 集合框架

集合就类似于数组
可以存放多个元素
根据下表取值

ArrayList其实就是一个数组
扩容的原理:新建一个更大的数组,把原来的数组剪切到里面
最大的区别:数组的大小是不可变的
:集合的大小1是可变的,动态扩容


Collection 集合的顶级接口是 List和Set的父类
list接口,必须指定一个类型
-ArrayList 基于数组的集合
-Vector 基于数组的集合,更安全
-LinkedList 基于链表的集合
创建集合
这里 List<E> E需要删除,里面必须指定一个类型,指定了该类型就只能使用该类型,把<E>删除不要,就可以放任意类型

List<String> as=new ArrayList<String>();
Vector<String> s=new Vector<String>();

在ArrayList集合里面增加(add)

as.add("九九");

as.add("八八");

也可以指定增加到那个位置

as.add(2,"哈哈");----指定增加到第2个位置上

在ArrayList集合里面删除 (remove)
as.remove(0);----删除位置第0个

as.remove("九九");----或者根据名字删除

查看ArrayList集合的长度(length,size)

System.out.println(as.size());

将两个ArrayList集合合并 (addAll)

List<String> bs =new ArrayList<String>();---创建集合增加
bs.add("东东");
bs.add("嘻嘻");
as.addAll(bs);---合并

System.out.println(as.size());---输出

输出结果

[八八, 东东, 嘻嘻]

可以用以下方法查看

//方法1
System.out.println(as);
//方法2
for (int i = 0; i < as.size(); i++) {
System.out.println(as.get(i));
}
//方法3
for (String s1 : as) {
System.out.println(s1);
}

-Vector集合使用方法和ArrayList一样
-LinkedList 基于链表的集合使用方法也一样
链表:一些不连续的空间,彼此有联系
链表和数组的区别:数组查询效率高,链表是扩容,删除效率高
LinkedList<String> ls=new LinkedList<String>();--创建链表集合
LinkedList是一个双向链表,所以它提供两个方法:

getFirst()拿到第一个节点

getLast()拿到最后一个节点


Set接口:去除重复且顺序不一致无下标
-HashSet
-HadhTable 和HashSet是一样的这个更安全
-treeSet :排序功能的set

 

posted @ 2022-06-14 23:09  洗洋洋  阅读(39)  评论(0)    收藏  举报