java中collection是啥?怎么理解?怎么使用?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中collection是啥?怎么理解?怎么使用?相关的知识,希望对你有一定的参考价值。
参考技术A Collection是一个超级接口,有很多实现这个接口的类,具体用的话,是用这些实现它的那些类,比如ArrayList等,ArrayList是比较常用的。集合这个知识点在JAVA中还是比较重要的,而且内容也不是一两句能讲清楚的,建议去看看教程,或者API文档,里面有各个接口、类定义的具体方法,以及这些方法的使用方式。
ArrayList的一些使用:
List
list
=
new
ArrayList();
//创建一个ArrayList
list.add(这里存放要添加的元素);
//添加元素
list.get(int
index)
;
//返回此列表中指定位置上的元素。
list.remove(int
index);
//移除此列表中指定位置上的元素。
list.set(int
index,
E
element)
;
//
用指定的元素替代此列表中指定位置上的元素。
list.toArray()
;
//按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组。
Collection
也属于容器,容器的话,一般避免不了“增删改查”这四个操作!
Java中Collection元素打印的问题,图中两句话都打印[张三,李四],还有这里的toString()怎么理解
找到了,是AbstractCollection里的toString(),坟==+
第一个输出,调用的是System.out.println(Object),方法中的参数是Object,实际上你第一个输出等价于第二个输出.
println()方法默认回去调用Object的toString方法,如果你这个类没有重写toString()方法,那么就会调用Object的toString()方法,它默认打印的是一个16进制的数字,Object的toString()源码如下
public String toString()return getClass().getName() + "@" + Integer.toHexString(hashCode());
你上面的Collection真实实例是ArrayList,所以会去调用ArrayList.toString()方法(已经由AbstractCollection提供了实现)
Iterator<E> it = iterator();
if (! it.hasNext())
return "[]";
StringBuilder sb = new StringBuilder();
sb.append('[');
for (;;)
E e = it.next();
sb.append(e == this ? "(this Collection)" : e);
if (! it.hasNext())
return sb.append(']').toString();
sb.append(',').append(' ');
所以输出的结果就可以理解了.
如果觉得我的回答对你有帮助,可以关注简书 早晚程序员,或者 微信公众号 早晚程序员
参考技术A 其实第一句话底层调用的就是c.toString(),你可以查一下System.out.println(Object o)的源码追问看了,长这样:
public void println(Object x)
String s = String.valueOf(x);
synchronized (this)
print(s);
newLine();
对啊,String.valueOf(x)再进去看一下,应该返回的就是x.toString()
参考技术B toString()表示将数据转换为字符串形式,是所有对象中通用的方法。 参考技术C 打印的时候。c和c.toString()是一个意思。以上是关于java中collection是啥?怎么理解?怎么使用?的主要内容,如果未能解决你的问题,请参考以下文章
Java中Collection元素打印的问题,图中两句话都打印[张三,李四],还有这里的toString()怎么理解
Java中代码点和代码单元是啥?怎么理解?举例说明下,它们之间有啥联系有啥区别?为啥代码点