面试准备+复习分享:
为了应付面试也刷了很多的面试题与资料,现在就分享给有需要的读者朋友,资料我只截取出来一部分哦
结果: de===-1 de=0 de=1 de=4 de=5
1、5数组倒序。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
int[] a={1,4,-1,5,0};
Arrays.sort(a);
int [] daoxu =new int[a.length];
for(int i=0;i<a.length;i++){
daoxu[a.length-i-1] = a[i];
// System.out.print(" de==="+a[i]);
}
for(int i=0;i<daoxu.length;i++){
System.out.print(" daoxu==="+daoxu[i]);
}
结果: daoxu=5 daoxu=4 daoxu=1 daoxu=0 daoxu===-1
2、集合
list集合声明
// static List list2=new ArrayList<>();
// static List list2=new LinkedList<>();
static List list2=new Vector<>();
set集合说明
Set test = new HashSet<>();
可以 test.add(null);
Set test = new TreeSet();
不可以 test.add(null);
说明:
List中的元素有存放顺序,并且可以存放重复元素,检索效率高,插入删除效率低
LinkedList中元素位置是任意的,所以执行插入删除操作效率较高,查询效率较低
Vector多个线程同时访问不会发生不确定的结果,但是它的效率会比较低,如果要考虑线程安全的话可以用它。
Set没有存放顺序,而且不可以存放重复元素,后来的元素会把前面重复的元素替换掉,检索效率低,插入删除效率高
Set存储位置是由它的HashCode码决定的,所以它存储的对象必须有equals()方法,而且Set遍历只能用迭代,因为它没有下标
HashSet是使用Hash表实现的,集合里面的元素是无序得,可以有null值,但是不能有重复元素。
TreeSet是用二叉树结构实现的集合,集合中的元素是有顺序得,不允许放入null,同样不能放入重复元素。
2、2集合操作
| Sr.No. | Method & Description |
| — | — |
| 1 |
add( ) 向集合中添加元素
|
| 2 |
clear( ) 去掉集合中所有的元素
|
| 3 |
contains( ) 判断集合中是否包含某一个元素
|
| 4 |
isEmpty( ) 判断集合是否为空
|
| 5 |
iterator( ) 主要用于递归集合,返回一个Iterator()对象
|
| 6 |
remove( ) 从集合中去掉特定的对象
|
| 7 |
size( ) 返回集合的大小
|
list2.add(“aaa”);
list2.add(“bbb”);
list2.add(“ccc”);
list2.add(“111”);
list2.add(“111”);
list2.remove(2);//删除元素
list2.add(2, “插入icom”);//插入元素。先删除再插入就是替换元素
for(int i=0;i<list2.size();i++){
System.out.print(" ==="+list2.get(i));
}
结果是: ===aaa ===bbb ===插入icom ===111 ===111
Set遍历:使用迭代方法
Set test = new HashSet<>();
int c = 3;
int d = 9;
int e = 2;
test.add©;
test.add(d);
test.add(e);
test.add(null);
Iterator value = test.iterator();
while (value.hasNext()) {
// int s = value.next();
System.out.print(value.next()+" ");
}
结果:null 2 3 9 ——默认排序了
数组转集合:https://blog.csdn.net/meixi_android/article/details/82221089
3、HashMap
存储键值对我们首先想到HashMap,它的底层基于哈希表,采用数组存储数据,使用链表来解决哈希碰撞,它是线程不安全的
HashMap允许空键值,并且它是非线程安全的,所以插入、删除和定位元素会比较快。
Map map=new HashMap();
map.put(3, “sss”);
map.put(2, 6666);
map.put(“c”, null);
map.put(null, “ddd”);
System.out.println(map.get(3));
//遍历
Iterator iterator = map.keySet().iterator();
while (iterator.hasNext()) {
Object key = iterator.next();
System.out.println(“map.get(key) is :”+map.get(key));
}
结果:sss
map.get(key) is :ddd
map.get(key) is :6666
map.get(key) is :sss
map.get(key) is :null
TreeMap不允许空键值,TreeMap是基于红黑树实现的,适用于按自然顺序火兹定于顺序遍历key。(键需同类型)。如果你需要得到一个有序的结果你就应该使用TreeMap
Map map=new TreeMap();
map.put(2, “aaa”);
map.put(1, “cccc”);
map.put(4, “bbbbbb”);
map.put(5, “ddd”);
//遍历
Iterator iterator = map.keySet().iterator();
while (iterator.hasNext()) {
Object key = iterator.next();
System.out.println(“map.get(key) is :”+map.get(key));
}
结果:
map.get(key) is :cccc
map.get(key) is :aaa
map.get(key) is :bbbbbb
map.get(key) is :ddd
HashTable是基于HashCode实现的,但它是线程安全的,所以会比HashMap效率低,而且不允许null值。
读者福利
由于篇幅过长,就不展示所有面试题了,感兴趣的小伙伴
更多笔记分享
由于篇幅过长,就不展示所有面试题了,感兴趣的小伙伴*
[外链图片转存中…(img-xqtYGuPV-1714839806445)]
[外链图片转存中…(img-JRGh0wiw-1714839806445)]
[外链图片转存中…(img-pOaXXy4N-1714839806446)]
更多笔记分享
[外链图片转存中…(img-flbPY2IW-1714839806446)]