数组是否包含一元素
有什么比较好的方法
我只想到个笨方法,一个个比较
问题点数:0、回复次数:15Top
1 楼whyxx(最近有点闲)回复于 2004-12-03 14:51:54 得分 0
Arrays.binarySearch(Object[] a, Object key)
不过估计里面具体实现也是一个个比的,看看代码就知道了Top
2 楼classjava(原始野人)回复于 2004-12-03 14:52:24 得分 0
呵呵,可以转成字符串,然后用字符串的某些方法查找该字符呵呵,
搞定^_^Top
3 楼louisbadbad(快乐就好)回复于 2004-12-03 14:52:36 得分 0
呵呵,数组的方法
排序,二分法,冒泡法,这样不都可以比较n*log(n)/2Top
4 楼classjava(原始野人)回复于 2004-12-03 15:06:37 得分 0
public class Test
{
public static void main(String[] args)
{
char[] a={'c','d'};
String b=new String(a);
if(b.indexOf('c')!=-1)
System.out.println(true);
else
System.out.println(false);
}
}
Top
5 楼thomas_20(执子之手,与子偕老)回复于 2004-12-03 15:08:21 得分 0
基本上是要用到一个个比较的!Top
6 楼bluemeteor(挂月||Becoder)回复于 2004-12-03 15:20:10 得分 0
数组是无序的数据格式...所以是否包含只能用一个一个遍历了
转换String后用indexOf 是不对的...有可能出错Top
7 楼zyg158((DD)OTP)回复于 2004-12-03 15:25:03 得分 0
数组是无序的只能一个一个遍历Top
8 楼vampire22(吸血僵尸)回复于 2004-12-03 15:28:39 得分 0
数组是整型的
数组中的元素一有位的也有二位的
Top
9 楼catblue(佛家说:一粒沙中看世界。)回复于 2004-12-03 15:30:45 得分 0
如果数组里只是一些数据类型元素。那么用 Arrays.binarySearch()方法就可以找到是否包含该元素
比如binarySearch(float[] a, float key)
如果是类的话 public static int binarySearch(Object[] a, Object key) 你还得在该类里实现Comparable 接口吧Top
10 楼whyxx(最近有点闲)回复于 2004-12-03 15:59:25 得分 0
如果是类,不用实现Comparable接口,需要重写Equals方法和getHashCode方法Top
11 楼fast_time(fast_time)回复于 2004-12-03 16:18:46 得分 0
就是数据结构中的查找,用二分查找吧Top
12 楼lenoli(可乐吧)回复于 2004-12-03 17:03:09 得分 0
一个个比也不慢Top
13 楼Yoinn(孤标傲世偕谁隐,一样开花为底迟!)回复于 2004-12-03 17:18:32 得分 0
Arrays.binarySearch(Object[] a, Object key)
用这个之前得排序,他用的是折半查找
Arrays.sort(Object[] a);
Top
14 楼brucejia(大碗喝酒,大块吃肉,谨防高血压)回复于 2004-12-03 17:47:12 得分 0
不会影响效率的Top
15 楼zh_baiyu(SkyBay)回复于 2004-12-03 18:04:27 得分 0
一个原则怎么方便怎么做。
就算算法再好,节省的时间是很有限的,几乎可以忽略。。
而简单的思路,更有利于程序的维护 和 代码共享。
Top




