学习地址:
撩课-JavaWeb系列1之基础语法-前端基础
撩课-JavaWeb系列2之XML
撩课-JavaWeb系列3之MySQL
撩课-JavaWeb系列4之JDBC
撩课-JavaWeb系列5之web服务器-idea
![](https://img.haomeiwen.com/i577844/ee0d7a530477b7ba.png)
![](https://img.haomeiwen.com/i577844/22074b110d5e1244.png)
101、什么是迭代器?
迭代器模式:就是提供一种方法
对一个容器对象中的各个元素进行访问,
而又不暴露该对象容器的内部细节。
102、如何使用迭代器遍历集合?
while(it.hasNext){
System.out.println(it.next())
}
103、使用迭代器遍历自己定义集合
答:while(it.hasNext){
Cat cat =(cat)it.next();
}
104、如何根据解标获取集合当中的元素?
list.get(角标)
105、遍历集体时有什么注意点?
Iterator遍历时不可以删除集合中的元素
在使用迭代器遍历时,是不允许直接修改集合结构。
106、为什么会有并发修改异常?
在获取迭代器时, 会和集合进行关联
保持两边数据一至
内部会有一个modCount 和 expectedModCount
默认他们两个是相等的
modCount:集合记录修改次数
expectedModCount迭代器当中记录集合修改的次数
在我们取元素的时候,都会先做一个判断
modCount 和 expectedModCount两个默认是相等的
会判断modCount与expectedModCount是否相等,
如果不相等就不会抛出一个并发修改异常
107、如何解决并发修改异常?
使用list当中特有的迭代器
list.listIteration();
108、写出迭代器常用方法
hasNext();
next();
hasPrevious();
previous();
nextInde();
previousIndex();
remore();
set();
add();
109、描述一下ArrayList内部实现原理
把原来的数据复制出来,
在创建一个数组容量增加50%,
把复制的数组放到新数组当中原来的数组扔掉
110、如何去除集体当中重复的元素?
1 创建一个空集合
ArrayList list2 = new ArrayList();
2 依次取出每一个元素
ListIterator it = list.listIterator();
while(it.hasNext()) {
3每取出一个袁术,要先判断集合当中是否包含该元素
Object obj = it.next();
if(!list2.contains(obj)){
4若果已经包含该元素,就不打元素添加到新集合当中
list2.add(obj);
}
}
111、equals方法的作用是什么?
判断地址从而比价两个值是否相等
112、如何进行ArrayList与LinkedList使用上的选择?
在经常插入与删除元素使用LinkedList因为链表插入与删除比较快
在经常查询选择ArrayList因为数组查询比较快
113、写出linkeList特有的方法有哪些?
往第一个位置添加元素
list.addFrisr(" a");
在集合的最后添加一个元素
list.addLast("b")
移除第一个元素
list.removeFirst()
移除最后有个元素
list.removeLast()
根据角标获取元素
list.get(0);
114、Vector特有那些方法?
在1.2以前
添加元素
vc.addElement(obj);
获取所有元素
Enumeration en = vc.elements();
while(en.hasMoreElements()) {
System.out.println(en.nextElement());
}
115、没有泛型时存在哪些问题?
1.取出来的值必须要转换相应的一个类才能使用对应的方法
2.没有办法约束某一种类型
3.设计一个类,没办法可变多种类型
116、什么是泛型?
使用一个T表示
开始不指定类型,
在使用时再去指定真正的类型
T为变化的
使用时再去确定具体的类型
117、集合使用泛型有些好处?
集合指定泛型后,只能添加指定的类型
定义泛型后,不需要强转
118、集合当中定义的泛型能不能存放基本数据类型?
不能
119、使用泛型时,有哪些注意点?
1.泛型前后前后类型保持一致
2.从java7开始,后面的类型可以不用写
newArrayList<>();菱形语法
3.泛型没有继承
120、泛型的本质是什么?
泛型的本质还是Object
121、什么是泛型类?
泛型类就在类上面定义的泛型。
122、什么是泛型方法?
泛型方法就是在方法上添加的泛型
123、如何定义泛型方法?
在返回值前面声明泛型,
在使用方法时,参数传递确定具体是什么类型,
方法单独使用泛型,必须要有参数才有意义
124、什么是泛型通配符?
不知道使用什么类型来接收的时候可以用?表示未知
125、如何定义泛型通配符?
static void text(list<?> list){
}
126、什么是泛型的上限和下限?
用来限定元素的类型必须是类型的子类(父类)或者是指定类型的类
127如何定义上限和下限?
上限:
static void text(List <? extends Number>list){
}
下限:
static void text(List <? super Number>list){
}
128、什么是泛型擦除?
就是把泛型给去掉了
129、如何把一个数组直接转成集合?
调用:Arrays.aslist(数组名);
130、数组转集合有哪些注意点?
数组转换集合并不能添加,删除元素
基本数据类型转换集合时,
是把基本数据类型的数组当做对象
习题配套视频 点击以下链接查看
https://study.163.com/courses-search?keyword=%E9%AB%98%E6%96%B0%E5%BC%BA
网友评论