list里存放的是什么?

兆帅 2011-08-15 08:03:43
String a = "one";
String b = "two";
String c = "one";
String my[] = { a, b, c };
List<String> list = Arrays.asList(my);
System.out.println(list.indexOf("one"));
System.out.println(list.indexOf(c) + " " + list.indexOf(a) + " "+ list.indexOf(b));
运行结果为 0 0 1,求解?list里放的什么啊?不是三个元素么?
...全文
313 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
兆帅 2011-08-16
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 yuchensuifeng 的回复:]

indexOf返回的是下标吧........
[/Quote]
嗯 就是第一个相等元素的索引
兆帅 2011-08-16
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 quxiawctext 的回复:]

indexof是list的内容吗?
[/Quote]
list的indexof方法比较的是对象的内容是否相等,返回第一个相等元素的索引~~
来到我身边 2011-08-16
  • 打赏
  • 举报
回复
对象的引用,在文档里就有,可以看看
宁波朱超 2011-08-16
  • 打赏
  • 举报
回复
楼主英语太差。
hq333 2011-08-16
  • 打赏
  • 举报
回复
list里放的什么啊?
通过 System.out.println(list); 得出:[one, two, one],是因为a, b, c都是变量,代入就是了,indexOf()返回索引值,无则-1。index就是索引的意思,尽量通过英语单词来记忆。
yuchensuifeng 2011-08-16
  • 打赏
  • 举报
回复
去看文档,源码.......
yuchensuifeng 2011-08-16
  • 打赏
  • 举报
回复
indexOf返回的是下标吧........
quxiawc 2011-08-15
  • 打赏
  • 举报
回复
indexof是list的内容吗?
softroad 2011-08-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 hanzhaoshuai 的回复:]

引用 3 楼 magicluo 的回复:

list中存放的是对象的引用

indexOf的功能是啥?了解equals和“==”,查看下源码,一目了然:
Java code

public int indexOf(Object o) {
//查找为null的元素,则直接比较地址
if (o == null) {
//为空时直接超找地址为null的元素,返回其索引
} els……
[/Quote]

2个字符串,3个引用。
lost_guy_in_scut 2011-08-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 magicluo 的回复:]

list中存放的是对象的引用

indexOf的功能是啥?了解equals和“==”,查看下源码,一目了然:
Java code

public int indexOf(Object o) {
//查找为null的元素,则直接比较地址
if (o == null) {
//为空时直接超找地址为null的元素,返回其索引
} else……
[/Quote]

调用list的元素的话,用list.get(index)方法吧~~
兆帅 2011-08-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 magicluo 的回复:]

list中存放的是对象的引用

indexOf的功能是啥?了解equals和“==”,查看下源码,一目了然:
Java code

public int indexOf(Object o) {
//查找为null的元素,则直接比较地址
if (o == null) {
//为空时直接超找地址为null的元素,返回其索引
} else……
[/Quote]
String my[] = { a, b, c };内存中存放的是三个字符串还是引用?什么个存放形式呀?
shuwei003 2011-08-15
  • 打赏
  • 举报
回复
学习了
magicluo 2011-08-15
  • 打赏
  • 举报
回复
list中存放的是对象的引用

indexOf的功能是啥?了解equals和“==”,查看下源码,一目了然:

public int indexOf(Object o) {
//查找为null的元素,则直接比较地址
if (o == null) {
//为空时直接超找地址为null的元素,返回其索引
} else { //否则,进行equals比较,获取元素的索引
for (int i = 0; i < size; i++)
if (o.equals(elementData[i]))
return i;
}
return -1;
}
6Glory9 2011-08-15
  • 打赏
  • 举报
回复
if(a == c) {
System.out.println(true);
}
淡定的峰哥 2011-08-15
  • 打赏
  • 举报
回复

//ArrayList的这个方法就是返回所在元素的下标啊,看看源码就知道了
public int indexOf(Object elem) {
if (elem == null) {
for (int i = 0; i < size; i++)
if (elementData[i]==null)
return i;
} else {
for (int i = 0; i < size; i++)
if (elem.equals(elementData[i]))
return i;
}
return -1;
}

62,614

社区成员

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

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