1、HashMap的遍历方法?
Map< String, String> map = new HashMap < String, String> ( ) ;
for ( String key : map. keySet ( ) ) {
String value = map. get ( key) ;
}
for ( Entry< String, String> entry : map. entrySet ( ) ) {
String key = entry. getKey ( ) ;
String valeu = entry. getValue ( ) ;
}
Iterator< String> it = map. keySet ( ) . iterator ( ) ;
while ( it. hasNext ( ) ) {
String key = it. next ( ) ;
String value = map. get ( key) ;
}
2、ArrayList和LinkedList的区别?
ArrayList
LinkedList
底层基于数组实现
底层基于链表实现
查找效率快,增删效率慢
查找效率慢,增删效率快
3、ArrayList和LinkedList通过下标查找元素的时间复杂度是多少?
ArrayList
LinkedList
O(1)
O(n)
4、浅拷贝和深拷贝的区别?
浅拷贝和深拷贝的区别在于引用数据类型的拷贝。
浅拷贝在拷贝引用数据类型的时候,只是将引用数据类的地址引用复制一份,不会在内存中开辟一块新的地址空间来创建新的对象。
深拷贝会在内存中重新开辟一块地址空间,将原来的数据复制一份到新的内存中,创建一个新的对象。
5、数据结构中,与所使用的计算机无关的是数据的( )?
A.存储结构
B.物理结构
C.逻辑结构
D.物理和存储结构
答案:C
6、有一张sal表结构数据如图一所示,写出SQL语句将表数据查询为图2所示的结果。
图一
图二
SELECT years,
sum ( case when quarter= '1' then sales end) as '一季度' ,
sum ( case when quarter= '2' then sales end) as '二季度' ,
sum ( case when quarter= '3' then sales end) as '三季度' ,
sum ( case when quarter= '4' then sales end) as '四季度'
from sal group by years
7、MySQL数据库查询当前时间?
select CURRENT_DATE; #查询当前日期
select CURRENT_TIME; #查询当前时间
select now ( ) ; #查询当前日期和时间
select SYSDATE ( ) ; #查询当前日期和时间
8、GET请求和POST请求的区别?
GET
POST
后退按钮/刷新
无害
数据会被重新提交
书签
可收藏为书签
不可收藏为书签
缓存
能被缓存
不可缓存
编码类型
application/x-www-form-urlencoded
application/x-www-form-urlencoded,multipart/form-data,application/json,text/xml
历史
参数保留在浏览器历史中
参数不会保留在浏览器历史中
对数据长度的限制
2kb
无限制
对数据类型的限制
只允许ASCII
没有限制,也运行二进制数据
安全性
与POST相比,GET的安全性较差,因为所发送的数据是URL中的一部分
POST比GET更安全,因为参数不会保存在浏览器历史或web服务器的日志中
可见性
数据在URL中对所有人都是可见的
数据不会显示在URL中
9、将字符串"abcdefg"反转,变为"gfedcba"。
方法一:使用StringBuffer的方法reverse(),可以实现字符串的反转。
String str = "abcdefg" ;
StringBuffer sb = new StringBuffer ( str) ;
System. out. println ( sb. reverse ( ) ) ;
方法二:使用Java的栈集合先进后出的特点,将字符串反转。
String str = "abcdefg" ;
Stack< Character> stack = new Stack < Character> ( ) ;
for ( int i = 0 ; i < str. length ( ) ; i++ ) {
stack. push ( str. charAt ( i) ) ;
}
while ( true ) {
if ( stack. isEmpty ( ) ) {
return ;
}
System. out. print ( stack. pop ( ) ) ;
}
方法三:使用一个char数组,从后向前遍历该数组实现字符串的反转。
String str = "abcdefg" ;
char [ ] ch = str. toCharArray ( ) ;
for ( int i = ch. length- 1 ; i >= 0 ; i-- ) {
System. out. print ( ch[ i] ) ;
}