2011-03-25 247 views
0

我有一个由对象组成的数组列表。每个对象都由字符串组成。通过ArrayList搜索

object first = (String a,String b,String c) 
object second = (String d,String e,String f,String g) 
object third = (first,second,String h,String i) 

“第三”对象是被抽入ArrayList的东西。

如何通过此ArrayList搜索特定的字符串,然后返回ArrayList的包含元素的索引(用于删除,显示等)?

+0

请发布您的联系方式 – 2011-03-25 04:12:00

回答

1

究竟是这些对象呢? 他们是你定义的类吗? 如果是这样,你需要通过你的对象数组,并让每个oject有。载有()方法,应该具备哪些代码ArrayList.indexOf(MyString的)

for(int i=0; i<array.size(); i++) 
{ 
    Object o=array.get(i); 
     if(o.contains("STRING"){ 
      //do code 
    } 
} 


class Object{ 
    public boolean contains(String s){ 
    return (array.contains(s)); 
    } 

} 
+0

是的,他们是定义类 – Jinx3y 2011-03-25 01:35:14

+0

你能提供一个例子吗?基于此: – Jinx3y 2011-03-25 01:36:17

+0

当然,可以说你的数组被称为“数组”:) 看到我的编辑 – 2011-03-25 04:07:24

0

下面是一个例子

import java.io.FileNotFoundException; 

public class AddressBook { 

    public static void main(String[] args) throws FileNotFoundException { 
//  new AddressBookGUI(); 
     ContactBook c = new ContactBook(); 
     c.readFromFile("input.txt"); 
     System.out.println(c.getContact(0)); 
     System.out.println(c.getContact(1)); 
     System.out.println(c.getContact(2)); 
     System.out.println(c.getContact(3)); 
     System.out.println(c.getContact(4)); 
     System.out.println(c.contactList.indexOf("Last")); 
    } 
} 

这里是输出:

run: 
Last:First:MI:Street:City:State:ZipCode:HomePhone:CellPhone 
Anderson:Robert:M.:19 AnyStreet:AnyCity:AnyTown:12345:(123)456-7890:(987)654-3210 
MacLean:Jerry:A.:34th Ave West, #12:Brooklyn:NY:66978:(447)582-9943:(447)221-7735 
LastName:First:MI:Street:City:State:ZipCode:HomePhone:CellPhone 
Macintosh:Jerry:A.:34th Ave West, #12:Brooklyn:NY:66978:(447)582-9943:(447)221-7735 
-1 
BUILD SUCCESSFUL (total time: 0 seconds) 

关键的一点是,每一个indexOf()回报-1而不是index