关于java集合的的汇总,轩成笔记
Java是一门面向对象的语言,就免不了处理对象,为了方便操作多个对象,那么我们就得把这多个对象存储起来,想要存储多个对象(变量),很容易就能想到一个容器(集合)来装载
简单来说集合就是“由若干个确定的元素所构成的整体”。就是Java给我们提供了工具方便我们去操作多个Java对象。
首先需要了解集合的分类,以及集合用法(看api),实现类,各有什么功能和不同,这在面试中经常会考到,再一个就是从数据结构层面底层去考虑这些问题,虽然以后在工作中多数人都不会涉及,但是这是考验学习能力的一种方式。
数据结构指的是数据的组存储方式,不同的数据结构有不同的特点。
List 接口:元素按进入先后有序保存,可重复
Set 接口: 仅接收一次,不可重复,并做内部排序
常见面试笔试题:Arraylist,LinkedList,Vector的区别
数组和集合的区别:
1.add(int index, Object ele)
2.boolean addAll(int index, Collection eles)
3.Object get(int index)
http://4.int indexOf(Object obj)
http://5.int lastIndexOf(Object obj)
6.Object remove(int index)
7.Object set(int index, Object ele)
8.List subList(int fromIndex, int toIndex)
Set集合的特点是:元素不可重复
各Set实现类的性能分析
1.普通的for循环【必须要有索引,可以修改元素】
import java.util.*;
public class test{
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("Hello");
list.add("Java");
list.add("World");
list.add("轩成笔记");
for (int i = 0; i < list.size(); i++){
String s = (String) list.get(i);
System.out.println(s);
}
}
}
2.迭代器遍历【任何集合都可以遍历,只能获取元素】
1. Object next():返回迭代器刚越过的元素的引用,返回值是Object,需要强制转换成自己需要的类型。
2. boolean hasNext():判断容器内是否还有可供访问的元素。
3. void remove():删除迭代器刚越过的元素。
import java.util.*;
public class test{
public static void main(String[] args) {
Collection<String> c = new ArrayList<String>();
c.add("Hello");
c.add("Java");
c.add("World");
c.add("轩成笔记");
//获取迭代器对象
Iterator<String> it = c.iterator();
//hasNext()判断是否有下一个元素,如果有就用next()获取
while(it.hasNext()){
//获取下一个元素
String s = it.next();
System.out.println(s);
}
}
}
3.高级for循环【就是迭代器的简化方式】
import java.util.*;
public class test{
public static void main(String[] args) {
Collection<String> c = new HashSet<String>();
c.add("Hello");
c.add("Java");
c.add("World");
c.add("轩成笔记");
//高级for遍历集合
for (String s : c){
System.out.println(s);
}
int[] arr = {1, 2, 3, 4, 5};
//高级for遍历数组
for (int a : arr){
System.out.println(a);
}
}
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。