1.写一个方法,接收一个包含元素的List,并返回一个新的list,以相同的顺序包含相同元素,但要求后续重复元素剔除
答:我们第一反应是将set,但set不保证元素顺序,幸运的是有一种Set的实现可以维护元素插入顺序,提供的导入性能接近HashMap,它就是LinkedHashSet,在1.4版本的jdk被添加进来的。
static <E> List<E> withoutDuplicates(List<E> original){
return new ArrayList<E>(new LinkedHashSet<E>(original));
}
2.编一个方法,接收由0个或多个由逗号分割的字符串,并返回一个标识这些标识的字符串数组,数组中元素鱼这些标志在输入字符串中出现的顺序相同。每一个逗号后面都可能跟随0个到多个空格字符,自个方法忽略它们。
答:String str="person ,enjoys , life";
String[] arr=str.split(",");
3.假设有一个多维数组,出于调试的目的,你想打印它。你不知道这个数组有多少级,以及在数组中每一级所存储的对象的类型。编写一个方法,它可以显示出每一级的所有元素。
答:第一次做这个可难坏人了,发现这么简单的需求竟然实现不了,自己试着写的繁复无比且不好用。实际上根本不用这么麻烦,这个方法在JDK5及之后的版本已经提供了。
即 Arrays.deepToString(); 它可以处理嵌套数组,甚至可以处理循环引用,即一个数组元素直接或间接地引用了其嵌套外层的数组。5.0版本的Arrays类提供了一整套的toString.equals和hashCode方法,使你能够打印、比较或散列任何原始类型数组或对象引用类型的内容。
4. 编写一个方法,接收两个int数值,并第一个数值和第二个数值以二进制补码形式进行比较,具有更多位被置位时,返回true.
static Boolean hasMoreBitsSet(int i,int j){
return (Integer.bitCount(i)>Integer.bitCount(j))
}
5.10进制转二进制 (8421方法)
21 16 8 4 2 1
1 0 1 0 1
6.遇到手机端访问系统页面变很小?
<meta name="viewport" content="width=device-width; initial-scale=1.0">
<style type="text/css">
body {
font: normal 100% Helvetica, Arial, sans-serif;
}
</style>