如何判断一个字符串是否属于数组中的元素,在线守候,50分?

Philzzf 2002-09-27 10:40:42
String a = "car";

String[] b ={"car","plane","boat"};

如何判断a是否是b中的元素?
谢谢先!!!
在线等!! !
问题解决马上给分!!!
...全文
833 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
hello_wyq 2002-09-27
  • 打赏
  • 举报
回复
support freecolor(卓一航)

hotenM 2002-09-27
  • 打赏
  • 举报
回复
就像队列一样
Vector
已经有了,你还自己去写吗?
那就不叫面向对象了
面想对象的语言的条件之一,有强大的对象库

有了你不用,那是什么,还是用tc来写程序吧
freecolor 2002-09-27
  • 打赏
  • 举报
回复
to : coolskeeter(蚊子)
你说的很好,如果只是用现成的类,虽然看起来代码是简单了,但实际上执行速度不一定提高
coolskeeter 2002-09-27
  • 打赏
  • 举报
回复
我觉得用什么数据结构,只是将代价转移了而已.
当然,自己写代码觉得很爽.(我喜欢这样子:)
coolskeeter 2002-09-27
  • 打赏
  • 举报
回复
当然,如果需要经常执行这样的查找过程,
先把数组进行排序是非常有必要的.排序一次就可以了.
比如Arrays.sort();
然后再利用binaraySearch等等.
coolskeeter 2002-09-27
  • 打赏
  • 举报
回复
to: nc201() ( ) 信誉:100 2002-09-27 10:52:00 得分:0
> 这个方法我当然知道,但如果有10000条,那就比10000次吗?

从算法角度来说是这样子的.
看看数据结构的算法(查找,排序什么的),如果说从查找效率上想提高,需要有相应的存贮方法来支持.比如说按照升序或者降序来存贮.
还有,尽管有些现成的类,你也许使代码上看起来"清爽"一些,但是我想也许实际的执行效果差别并不大.


hotenM 2002-09-27
  • 打赏
  • 举报
回复
我想你用错了数据结构
此功能用hashtable吧
myelan 2002-09-27
  • 打赏
  • 举报
回复
把数组转化为字符串,那不是一样的要遍历
不行不行

只有可能把遍历的算法改进
比如可以从两头同时开始

这样速度平均下来可以提高点
andy_bzhw 2002-09-27
  • 打赏
  • 举报
回复
String a = "aaaa";
String[] b = { "ccccc", "e", "dd", "aaaa", "ccc" };
List list= Arrays.asList(b);
System.out.println(list.contains(a));
myelan 2002-09-27
  • 打赏
  • 举报
回复
nc201() ,
怎么会一直返回false。
你搞错了
我代码没有错
不信你试试这段程序
class Sample
{
static String a = "car";

static String[] b ={"car","plane","boat"};

static boolean ainb (String a,String[] b)
{
for (int i=0;i<b.length;i++)
if (a==b[i])
return true;
return false;
}
public static void main(String[] args)
{
if (ainb(a,b))
System.out.println("ok");
else
System.out.println("not");
}
}
freecolor 2002-09-27
  • 打赏
  • 举报
回复
你还可以将数组转化为字符串,然后用indexOf()判断
andy_bzhw 2002-09-27
  • 打赏
  • 举报
回复
用一个循环来判断
bool ainb (String a,String[] b)
{
for (int i=0;i<b.length;i++)
if (a.equals(b[i]))
return TRUE;
return FALSE;
}
freecolor 2002-09-27
  • 打赏
  • 举报
回复
class j {
public static void main(String[] args) {
String a="aaa";
String[] b={"ccccc","e","dd","aaa","ccc"};
for (int i=0;i<b.length;i++) {
if(b[i].equals(a)) System.out.println("OK");
}
}
}
Philzzf 2002-09-27
  • 打赏
  • 举报
回复
这个方法我当然知道,但如果有10000条,那就比10000次吗?
再说,你代码也写错了,这样永远只能得到false
myelan 2002-09-27
  • 打赏
  • 举报
回复
用一个循环来判断
bool ainb (String a,String[] b)
{
for (int i=0;i<b.length;i++)
if (a==b[i])
return TRUE;
return FALSE;
}
Philzzf 2002-09-27
  • 打赏
  • 举报
回复
谢谢各位了,

to:myelan(myelan) ,是我搞错了,最近看SCJP把头看糊涂了,总是在“字符串比值和比对象之间纠缠着”,呵呵

分马上给,但感觉不够分啊,各位就多包含了。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧