JAVA List中怎么判断是否含有某个字符(已试过contain()不行)

Goods goods1=new Goods("001","苹果",8.8);
Goods goods2=new Goods("002","桃子",6);
List goodsList=new ArrayList();
goodsList.add(goods1);
goodsList.add(goods2);

我想输入一个编号,判断它是否是List中的。比如输入001,返回true,输入007,返回false。

写作业不会写。。。。。求助大神门= =
0

5个回答

首先说,,用 contains(),,,,是对的,看下源码。

public boolean contains(Object o) {
        return indexOf(o) >= 0;
    }

public int indexOf(Object o) {
        if (o == null) {
            for (int i = 0; i < size; i++)
                if (elementData[i]==null)
                    return i;
        } else {
            for (int i = 0; i < size; i++)
                if (o.equals(elementData[i]))
                    return i;
        }
        return -1;
    }

比较两个对象是通过equals方法进行比较的,,你需要重写你那个Goods的equals方法。

至于怎么重写,,,不会还可以追问,,对你有帮助,,请采纳 ^.^。

1

你这个作业我觉得是想要你用map吧,把001作为键,goods对象作为值。

1

很明显 List里的goods是对象,如果你没有重写对象里的equals方法,那么你调用list的contains方法是,
他会比较两对象之间的地址信息(这么超类的逻辑),
所以:
1、 你如果打算用contains,那么你就要写goods的equals方法。看你的业务逻辑你的equals方法只要比较goods编号就行。
2、可以用另一种方式用contains:你可以再写一个list存编号,这个list与你的goods的list的数据要同进同出,然后存编号的list就用contains就可以了。
3、当然也可以用map做,key就是编号了。
4、最低效的是:每次判断是 List 做遍历,list.get(i).get编号().equals(你的goods.get编号())【相信你懂】

1

public class WdgTest
{
public static void main(String [] args){
Goods goods1=new Goods("001","苹果",8.8);
Goods goods2=new Goods("002","桃子",6);
List goodsList=new ArrayList();
goodsList.add(goods1);
goodsList.add(goods2);
@SuppressWarnings("resource")
Scanner sc=new Scanner(System.in);
boolean b1=false;
while(true){
System.out.println("请输入商品的序号:");
String goodIndex=sc.nextLine();
for(int i=0;i<goodsList.size();i++){
if(goodsList.get(i).getIndex().equals(goodIndex)){
b1=true;
i=goodsList.size();
}
}
System.out.println(b1);
b1=false;
}

}
}
class Goods{
private String index;
private String name;
private double price;
public Goods(String index, String name, double price) {
super();
this.index = index;
this.name = name;
this.price = price;
}
public String getIndex() {
return index;
}
}
最低效的做法

0

如楼上所说,最简单的办法,重写Goods的equals方法。如下所示:

public class Goods {
private String num;
private String name;
private String price;

    public Goods(String num, String name, String price) {
        this.num = num;
        this.name = name;
        this.price = price;
    }

    public String getNum() {
        return num;
    }

    public void setNum(String num) {
        this.num = num;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPrice() {
        return price;
    }

    public void setPrice(String price) {
        this.price = price;
    }

    @Override
    public boolean equals(Object o) {
        if (null == o)
            return false;
        Goods goods = (Goods) o;
        if (this.num.equals(goods.getNum())) {
            return true;
        }
        return false;
    }
}
0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
如何判断某个字符串中是否含有某个字符啊?
如何判断某个字符串中是否含有某个字符啊?
怎么判断一个字符串里面是否含有某个字符?????
怎么判断一个字符串里面是否含有某个字符?????rnrnrn如rn$aaa="123",rnrn怎么判断$aaa里面是否还有“1”rnrn????rnrnrn请教
判断List<实体bean>中是否含有某个实体bean
首先要明白:使用List.contains(Object object)方法判断ArrayList是否包含一个元素对象(针对于对象的属性值相同,但对象地址不同的情况),如果没有重写List的元素对象Object中的equals方法,将导致contains方法始终返回false。 我们查看ArrayList的contains方法的源码如下:@Override public boolean conta
判断字符串是否contain某个字符串
#include&amp;lt;iostream&amp;gt; #include&amp;lt;string&amp;gt; using namespace std; bool judgeIsContain(string origin, string searchContent) {    char* originStr = (char*)(origin.c_str());    char* searchContentStr ...
java数组判断是否含有某个元素
引入工具类的jar org.apache.commons.lang.ArrayUtils 使用 public static void main(String[] args) { Short s = 3; Short[] arr = new Short[2]; arr[0] = 1; arr[1] = 2; Syst
JS判断字符串中是否含有某个字符的方法
var name1 = $("input[name='NAME1']").val(); if(name1.indexOf("-") > 0){ alert("name1中包含 - 字符"); } indexof的用法:返回 String 对象内第一次出现子字符串的字符位置。  indexOf方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,
如何在字符串中判断是否含有某个字符?
语句该怎么写?rn在线等待!
关于判断字符串中是否含有某个特定字符的问题
到今天项目测试的时候才发现,下面这种方式在iOS8以下是不能用的, NSString *str1 = @"hello word.!!!!"; BOOL *flag = [str1 containsString:@"."];点进去看的时候才明白,(10_10,8_0) - (BOOL)containsString:(NSString *)aString NS_AVAILABLE(10_10, 8
如何判断webbrowser页面中是否包含有某个字符?
比如判断webbrowser页面的内容中是否包含有"中国"?rn有何较好的方法?rn
JQ中判断list是否含有元素
我了个去,需求改了 原本以为多选的是时候调用后台判断数据库中的状态 谁知 不是啊!!!是页面上不满足的不允许修改 就是说要在前台判断 是否满足条件,否则不允许发送 改成这样 页面是 var list = new Array(); 然后,加载数据是 将满足条件的ID记录在list中 复选框时 判断,复选框的value在不在list中 这个有个问题 耽搁了很久 conta
判断json数据中是否含有某个字段
在做手机端app的时候,需要用ajax技术给后端人员传输json,或者解析后端人员的json数据;通常会碰到这么个情况,就是想知道这个json中有没有我需要的字段。然后根据这个做下一步的操作,比如讲json数据展示到html页面上; 1.通常此时会想到用判断json串的长度的方法,如果其长度小于1,则代表其没有这个字段。但这中有个问题,那就是在pc端浏览器测试时会出现js报错提示;   fun
java怎么判断一个集合是否含有某个值
一个集合中有两个元素rnSet set=new HashSet();rnset=[1,2]rn[color=#FF0000]if(set.contains(1))system.out.println("aaaaaaaaaaaaaa")[/color]rn以上这种写法不执行rn用[color=#FF0000]if(set.contains('1'))[/color]这种写法也不执行rnrn[b]望高手指点应该怎么判断![/b]rn
Java判断List中是否含有重复元素(不使用遍历)
public static void main(String[] args) { List list = new ArrayList(); list.add(“aa”); list.add(“bb”); list.add(“aa”); list.add(“cc”);HashSet set = new HashSet&lt;&gt;(list); Boolean result = set.size(...
怎么判断Xml文件中是否已经含有某个节点???
怎么判断Xml文件中是否已经含有某个节点???rn我想利用xml中保存的标志变量来决定程序的执行路径。rnrn但是为了和原来的较早的xml文件兼容,里面没有我要设置的的xml节点,用于保存标志变量的。rn我的想法是首先得判断一下是否已经含有该该节点,没有的话则用程序加上
怎么判断数组中是否含有某个元素
string[] namern定义了一个name数组,里面记录了工作人员的工号,rn想判断某个工号usernum是否在name中[code=csharp]if (Array.IndexOf(name, usernum) != -1)[/code]判断语句视乎不怎么管用,以前没用过indexof
java反射 判断类中是否含有某个方法
如何实现 java反射 判断类中是否含有某个方法,考虑重载的情况rnrnpublic void getTargerMethod(Class clazz, String method, Object... params)rnrn……………………rn
如何判断一个edit是否含有某个字符
我想用一个函数来判断edit里面是否含有某个字符,当含有和不含有时执行不同的操作rn有知道的蝈蝈指点下啊rn谢谢
php判断字符里是否含有某个字符串
function is_city($str,$find){ $pos = strpos($str, $find); // 注意这里使用的是 ===不能使用== // 因为如果没有字符串 就返回false,如果这个字符串位于字符串的开始的地方,就会返回0为了区分0和false就必须使用等同操作符 === 或者 !== if ($pos === false) { ...
求问怎么判断TextBox中是否含有指定的字符?
比如,我想判断textbox中的内容是否是以"回复:"开头,如果不是,点击按钮把这个内容复制到lable时候自动加上"回复:",如果是以"回复:"开头,则不做任何修改,直接复制到label中,这个该怎么实现呢?
判断字符串中是否含有特定的字符,怎么写?
这是判断第几位rnInstr(1, retdns, "预付款余额:60元", 1)rnrn我只要判断有没有,怎么写?
判断某个字符串中是否含有某个字符串
有一个字符串rnrnstd::string str = "abdffdf.pdf";rnrn 问题1:如何判断这个字符串中 是否含有 .pdfrnrnrnrnrn问题2rnstd::string str1 = "abcdecdaggcdegg.cdag";rn如何判断这个字符串中是否含有cd cd出现了几次?
判断字符串中是否存在某个字符
String str=”中国四川省成都市武侯区”;if(str.contains("省")){//如果这个字符串里面有《省》 String[] str = str.spilt("省");//切割字符串 } //切割结果 str.length = 2 ; str[0] = 中国四川 ; str[1] = 成都市武侯区 ;
判断NSString中是否包含某个字符
NSString *_string = [NSStringstringWithFormat:@"123123.123"];     NSRange _range = [_string rangeOfString:@"."];     if (_range.location != NSNotFound) {         //有空格         NSLog(@"有");
java 中怎么检测一字符中是否含有中文字符?
如题,谢谢
java判断是否含有特殊字符
/** * 判断是否含有特殊字符 * * @param str * @return true为包含,false为不包含 */ public static boolean isSpecialChar(String str) { String regEx = "[ _`~!@#$%^&*()+=|{}':;',\\[\\].;
在文档如何判断是否含有某个标签??
rt
如何判断类是否含有某个函数
TODO  has_member();
判断json是否含有某个字段的方法
RT,我用的是LitJsonrn我想在程序中判断是否含有某个字段rnrn[code=csharp]rnnamespace LitJsonrnrn public class JsonData : IJsonWrapper, IEquatablern rn 。。。。。rn 。。。。。rn #region IList Methodsrn int IList.Add (object value)rn rn return Add (value);rn rnrn void IList.Clear ()rn rn EnsureList ().Clear ();rn json = null;rn rnrn bool IList.Contains (object value)rn rn return EnsureList ().Contains (value);rn rnrn int IList.IndexOf (object value)rn rn return EnsureList ().IndexOf (value);rn rnrn void IList.Insert (int index, object value)rn rn EnsureList ().Insert (index, value);rn json = null;rn rnrn void IList.Remove (object value)rn rn EnsureList ().Remove (value);rn json = null;rn rnrn void IList.RemoveAt (int index)rn rn EnsureList ().RemoveAt (index);rn json = null;rn rn #endregionrn[/code]rnrn我想用[code=csharp] bool IList.Contains (object value)rn rn return EnsureList ().Contains (value);rn rn[/code]rn这个函数来判断,但是在程序里不能调用这个函数,不知道怎么回事啊?
Contains判断发送是否含有某个值
RxJava精品课程第三章,本章分为三节,主要讲解条件判断,数据总结,异常处理等内容。
angularjs数组判断是否含有某个元素
也就是in_array函数,判断数组中是否含有某个元素。 Array.prototype.in_array = function(e) { for(i=0;i<this.length;i++) { if(this[i] == e) return true; } ret
asp.net数组的判断是否含有某个值
rnstring str1 = "0,1,2,3,4,5,6"; rn string[] str = str1.Split(','); rn rn如何判断 str 中是否有 7 如果含有,执行当前页,没有跳到另一页
java判断字符串中是否含有中文
这感觉其实是一个不太正规的方法,只是我在写爬取网页的东西的时候突然想到这可以用来判断是否为中文,说到这里感觉大家都想到了,对的,就是利用编码转码的方法: url中网址中不能直接包含中文,中文需要先经过编码转换成一串字符(例如”你好”>>”%E4%BD%A0%E5%A5%BD”),而英文经过编码后是不会改变的(”hello”>>”hello”),所以:public class Test{ pu
如何判断List list中是否包含某个字符串呢?
for (temp : list) rnif (list.equals(xxStr)) rnreturn true;rnrnreturn false;rnrn有没有更简便点的方法呢?rn好像Java有类封装了这种操作啊,具体是神马?求知道:)
string_CString判断是否含有某些字符
string_CString判断是否含有某些字符
如何判断memo是否含有某些字符
比如,我现在要判断memo里面是否含有“黑客”两个字,请问如何判断
判断NSString是否含有某字符rangeOfString
rangeOfString
如何判断是否含有 特定字符
Delphi 如何判断某字符串变量是否带有$符号?
如何判断字是否含有该字符
例我三行数据分别为rnGSM/GPRS|900/1800/1900MHz rnrnCDMA 900/1800/1900MHz rnrnGSM/GPRS|900/1800/1900MHz CDMA|900/1800/1900MHz rnrn如何判断类型rn只有GSM的显示GSM,只有CDMA的显示CDMA,有GSM和CDMA的显示GCDrn该如何做rnrnrn急。。。。rnrn
java怎么判断某个文件是否存在
判断一个文件是否存在 String filePth= "D:\\bh\\key\\rsa_public_key.pem"; File file = new File(filePth); if(!file.exists()){ // 文件不存在 throw new RuntimeException("公钥文件不存在,请联系管理员"); } ...
如何判断某个字符串中是否存在某个字符?
如何判断某个字符串中是否存在某个字符?
相关热词 c#串口测试应用程序 c# 匹配 正则表达式 c#防止窗体重绘 c#读写txt文件 c#挖地雷源代码 c#弹框选项 c# 移除 队列 c# 密码写入配置文件 c# 获取可用内存大小 c# 嵌入excel编辑