Java 访问数组中对象的索引位置
嗨,我想知道如何访问数组中对象的索引位置。我有一个搜索方法,搜索我想要的对象,然后一旦我有了这个,我想能够检索它的索引位置。我的搜索方法如下:Java 访问数组中对象的索引位置,java,arrays,object,indexing,Java,Arrays,Object,Indexing,嗨,我想知道如何访问数组中对象的索引位置。我有一个搜索方法,搜索我想要的对象,然后一旦我有了这个,我想能够检索它的索引位置。我的搜索方法如下: public megs find(String lName) // find specified value { int j; int location; for(j=0; j<nElems; j++){ // for each element if(a[j].getLast().equals(lN
public megs find(String lName) // find specified value
{
int j;
int location;
for(j=0; j<nElems; j++){ // for each element
if(a[j].getLast().equals(lName)) // found item?
location=j;
break; // exit loop before end
}
if(j==nElems) // gone to end?
return null; // yes, can’t find it
else
return a[j]; // no, found it
} // end find
public-megs-find(String-lName)//查找指定值
{
int j;
int定位;
对于(j=0;j至少这里的代码是完全错误的:
for(j=0; j<nElems; j++){ // for each element
if(a[j].getLast().equals(lName)) // found item?
location=j;
break; // exit loop before end
}
公共类java1{
静态字符串a[]={ak”,“jk”,“kl”};
公共静态整型get(字符串sk){
int j;
对于(j=0;jpublic类java1{
公共静态int-get(字符串sk,字符串a[],int-n){
int j;
对于(j=0;j当您可以使用a.length
时,为什么要维护一个单独的length属性?您是否检查过数组中的第一个元素是否始终是您要查找的元素(如果这不是预期的行为,可能意味着代码中的其他地方存在错误)?这是一个很好的例子,说明了为什么在循环和条件中总是使用大括号。只有a
的长度从不改变时,才可以将数组和改变的长度作为参数传递。数组本身总是知道它有多大,这就是为什么所有数组对象都有一个公共length
属性。使用(在本例中)<代码> >长度因为循环上界总是比手动跟踪大小更可靠。我不是ASKER——我只是想推动你改进你的答案。你可能还想考虑代码只回答不被优化。解释(简明)你的代码在做什么,因为虽然这对你和我来说可能是显而易见的,但对其他来自谷歌的读者来说并不一定是显而易见的。好吧,我接受这一点。我以后会记住这一点。
for(j=0; j<nElems; j++){ // for each element
if(a[j].getLast().equals(lName)) // found item?
location=j;
break; // exit loop before end
}
for(j=0; j<nElems; j++){ // for each element
if(a[j].getLast().equals(lName)) { // found item?
location=j;
break; // exit loop before end
}
}
public class java1 {
static String a[]={"ak","jk","kl"};
public static int get(String sk){
int j;
for(j=0;j<3;j++){
if(a[j].equals(sk)){
return j;
}
}
return -1;
}
public static void main(String[] args) {
int x=get("jk");
System.out.println(x);
}
}
public class java1 {
public static int get(String sk,String a[],int n){
int j;
for(j=0;j<n;j++){
if(a[j].equals(sk)){
return j;
}
}
return -1;
}
public static void main(String[] args) {
String a[]={"ak","jk","kl"};
int x=get("jk",a,3);
System.out.println(x);
}
}