1.编码转换:怎样将 GB2312 编码的字符串转换为 ISO-8859-1 编码的字符串 ?
【基础】
答:示例代码如下 :
String s1 = " 你好 ";
String s2 = new String(s1.getBytes("GB2312"), "ISO-8859-1");
2.写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分
隔。 【基础】
答:函数代码如下:
public String[] split(String str, int chars){
int n = (str.length()+ chars - 1)/chars;
String ret[] = new String[n];
for(int i=0; i
if(i < n-1){
ret[i] = str.substring(i*chars , (i+1)*chars);
}else{
ret[i] = str.substring(i*chars);
}
}
return ret;
}
3.写一个函数, 2 个参数, 1 个字符串, 1 个字节数,返回截取的字符串,要
求字符串中的中文不能出现乱码:如( “ 我 ABC ” , 4 )应该截为 “ 我 AB ” ,输入 ( “ 我
ABC 汉 DEF ” , 6 )应该输出为 “ 我 ABC ” 而不是 “ 我 ABC+ 汉的半个 ” 。 【基础】
答:代码如下:
public String subString(String str, int subBytes) {
int bytes = 0; // 用来存储字符串的总字节数
for (int i = 0; i < str.length(); i++) {
if (bytes == subBytes) {
return str.substring(0, i);
}
char c = str.charAt(i);
if (c < 256) {
bytes += 1; // 英文字符的字节数看作 1
} else {
bytes += 2; // 中文字符的字节数看作 2
if(bytes - subBytes == 1){
return str.substring(0, i);
}
}
}
return str;
}
4.List,Set,Map 是否继承自 Collection 接口?【基础】
答: List,Set 是; Map 不是。
5.你所知道的集合类都有哪些?主要方法?【基础】
答:最常用的集合类是 List 和 Map 。
List 的具体实现包括 ArrayList 和Vector ,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象的 元素列表。List 适用于按数值索引访问元素的情形.
add(index,element); addAll(index,Collection);remove(index);set(index,element);
get(index);subList(from,to);listIterator();
Map 提供了一个更通用的元素存储方法。 Map 集合类用于存储元素对(称作 “ 键 ” 和 “ 值 ” ),其中每
个键映射到一个值.
1。添加
put(K key, V value)
2。删除
clear()
remove(Object key)
3。判断
containsKey(Object key)
containsValue(Object value)
isEmpty()
4。获取
get(Object key)
size()
values()
entrySet()
keySet()
6.说出 ArrayList,Vector, LinkedList 的存储性能和特性?【基础】
答: ArrayList 和 Vector:数组方式存储数据,索引数据快而插入数据慢
Vector 由于使用了 synchronized 方法(线程安全),通常性能上较 ArrayList 差
LinkedList 使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历 ,
但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
7.Collection 和 Collections 的区别?【基础】
答: Collection 是 java.util 下的接口,它是各种集合的父接口,继承于它的
接口主要有 Set 和 List ;
Collections 是个 java.util 下的类,是针对集合的帮助类,提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 。
8.HashMap 和 Hashtable 的区别 ? 【基础】
答:二者都实现了 Map 接口,是将惟一键映射到特定的值上;主要区别在于:
1)HashMap 没有排序,允许一个 null 键和多个 null 值 , 而 Hashtable 不允许 ;
2)HashMap 把 Hashtable 的 contains 方法去掉了,改成 containsvalue 和
containsKey, 因为 contains 方法容易让人引起误解;
3)Hashtable 继承自 Dictionary 类 , HashMap 是 Java1.2 引进的 Map 接口的实 现 ;
4)Hashtable 的方法是 Synchronize 的,而 HashMap 不是,在多个线程访问
Hashtable 时,不需要自己为它的方法实现同步,而 HashMap 就必须为之提供 外
同步。
Hashtable 和 HashMap 采用的 hash/rehash 算法大致一样,所以性能不会有 很
大的差异。
9.Arraylist 与 Vector 区别?【基础】
答:就 Arr