- 浏览: 303795 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
stamina:
请问这个装在svn的客户端吗?我试了,发现命令“ava -ja ...
statsvn 统计svn代码量 -
在世界的中心呼喚愛:
不错,找到方法!!
利用Jackson对Object,Map,List,数组,枚举,日期类等转化为json -
lg5414:
已经不错了
OutOfMemoryError: unable to create new native thread -
liubey:
这个年代的项目编码还有用latin1的,是个坑啊 蛤蛤
ubuntu下maven构建工程中文乱码 -
wp0615032:
因为那个timestamp是一个乐观锁,每次更新时这个填要带上 ...
hibernate异常 org.hibernate.StaleObjectStateException: Row was updated or deleted
刚看书上一段代码,觉得输出的结果有点奇怪,查看了jdk的api后,恍然大悟。
代码:
Collection<String> con = new ArrayList<String>(); con.add("a"); con.add("b"); con.add("c"); con.remove(0); System.out.println(con.size()); List<String> list = new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); list.remove(0); System.out.println(list.size());
欲知所以然,请查下api。(ps:jdk版本为1.5以上,因为1.5以上才支持泛型和自动装箱)
评论
19 楼
huang5787826
2011-03-04
Collection<String> con = new ArrayList<String>();
con.add("a");
con.add("b");
con.add("c");
con.remove(0);
System.out.println(con.size());
Collection 的 remove的方法不是只能移除一个对象~ 咋可以con.remove(0);这样
con.add("a");
con.add("b");
con.add("c");
con.remove(0);
System.out.println(con.size());
Collection 的 remove的方法不是只能移除一个对象~ 咋可以con.remove(0);这样
18 楼
wangdongjie03
2011-03-02
哪里命名不规范了吗,跟功能不沾边
17 楼
zhangyou1010
2011-02-28
clayton0 写道
zhangyou1010 写道
webee 写道
你呀肯定不看接口编程的,这是两个不同的重载方法!
Collection<String> con = new ArrayList<String>(); con.add("a"); con.add("b"); con.add("c"); con.remove(0); System.out.println(con.size()); List<String> list = new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); list.remove(Integer.valueOf(0)); System.out.println(list.size());
这里没涉及到重载。是接口里的方法规定不一样而已。
呵呵,不叫重载,叫什么,一样的方法名,只是参数不一样,一个是Object,一个是int
谢谢指出,确实是重载,是我弄错了。
16 楼
gch_h
2011-02-28
发这个贴只能说明你水平有多低,
老夫来教教你
Collection有一个remove(Object o)方法,他删除一个用相等的对象
Collection集合里边是没有顺序的,所以没有办法跟进索引删除
Collection<String> con = new ArrayList<String>();
con.add("a");
con.add("b");
con.add("c");
con.remove(0);
System.out.println(con.size());
这段代码是删除一个对象0,但是集合中根本就没有0这个对象,所以就不删除。如果你要删除a必须这样写con.remove("a");
List接口有两个remove方法
remove(Object o)
remove(int index)
下面代码中是使用了第二个重载的方法
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.remove(0);
System.out.println(list.size());
这段代码要删除a也可以这样写
list.remove('a');
老夫来教教你
Collection有一个remove(Object o)方法,他删除一个用相等的对象
Collection集合里边是没有顺序的,所以没有办法跟进索引删除
Collection<String> con = new ArrayList<String>();
con.add("a");
con.add("b");
con.add("c");
con.remove(0);
System.out.println(con.size());
这段代码是删除一个对象0,但是集合中根本就没有0这个对象,所以就不删除。如果你要删除a必须这样写con.remove("a");
List接口有两个remove方法
remove(Object o)
remove(int index)
下面代码中是使用了第二个重载的方法
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.remove(0);
System.out.println(list.size());
这段代码要删除a也可以这样写
list.remove('a');
15 楼
sd_zyl
2011-02-28
public interface Collection<E> extends Iterable<E> { boolean add(E e); boolean remove(Object o); boolean contains(Object o); //... }
JDK1.6中源代码。个人感觉似乎这个接口设计不是很合适,为什么不是:
boolean remove(E o); boolean contains(E o);
如果那个接口是泛型的话,lz的问题编译时候就发现了~~~
14 楼
clayton0
2011-02-28
zhangyou1010 写道
webee 写道
你呀肯定不看接口编程的,这是两个不同的重载方法!
Collection<String> con = new ArrayList<String>(); con.add("a"); con.add("b"); con.add("c"); con.remove(0); System.out.println(con.size()); List<String> list = new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); list.remove(Integer.valueOf(0)); System.out.println(list.size());
这里没涉及到重载。是接口里的方法规定不一样而已。
呵呵,不叫重载,叫什么,一样的方法名,只是参数不一样,一个是Object,一个是int
13 楼
zhangyou1010
2011-02-28
yangfuchao418 写道
一个是在集合中删除指定的对象(传具体的对象);一个是在集合中删除指定位置的元素(传下标)。
呵呵,如果在智能编程工具中,如eclipse中,最好的办法,其实看传的参数结构就知道不同了。根本不用查api
呵呵,如果在智能编程工具中,如eclipse中,最好的办法,其实看传的参数结构就知道不同了。根本不用查api
问题是jdk1.5以后有了装箱机制,传入基本数据类型,也当做Object处理了。
12 楼
onlylau
2011-02-28
原来Collection类中只有remove(E e),而List中除了有继承来的remove(E e);还有自己重载实现的remove(int index);方法
所以上面方法调用的con.remove(0);编译器把它当成从con中删除一个Intege类实例(new Integer(0))
谢谢LZ分享,自己都把这个区别给忘了
所以上面方法调用的con.remove(0);编译器把它当成从con中删除一个Intege类实例(new Integer(0))
谢谢LZ分享,自己都把这个区别给忘了
11 楼
yangfuchao418
2011-02-28
一个是在集合中删除指定的对象(传具体的对象);一个是在集合中删除指定位置的元素(传下标)。
呵呵,如果在智能编程工具中,如eclipse中,最好的办法,其实看传的参数结构就知道不同了。根本不用查api
呵呵,如果在智能编程工具中,如eclipse中,最好的办法,其实看传的参数结构就知道不同了。根本不用查api
10 楼
sswh
2011-02-28
E remove(int index)
移除列表中指定位置的元素(可选操作)。
boolean remove(Object o)
从此列表中移除第一次出现的指定元素(如果存在)(可选操作)。
这种情况真的是编程中的陷阱。。
移除列表中指定位置的元素(可选操作)。
boolean remove(Object o)
从此列表中移除第一次出现的指定元素(如果存在)(可选操作)。
这种情况真的是编程中的陷阱。。
9 楼
Reset
2011-02-28
List<String> con = new ArrayList<String>();
8 楼
zhangyou1010
2011-02-28
webee 写道
你呀肯定不看接口编程的,这是两个不同的重载方法!
Collection<String> con = new ArrayList<String>(); con.add("a"); con.add("b"); con.add("c"); con.remove(0); System.out.println(con.size()); List<String> list = new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); list.remove(Integer.valueOf(0)); System.out.println(list.size());
这里没涉及到重载。是接口里的方法规定不一样而已。
7 楼
hotapple
2011-02-27
Collection:
remove(Object o)
从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。
remove(Object o)
从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。
6 楼
晨星★~雨泪
2011-02-27
yangyi 写道
命名不规范的例证
非也非也
5 楼
chenchao051
2011-02-27
liubey 写道
细节决定成败~
确实是这样。遗憾的是,这样的情况还不是少数。
4 楼
webee
2011-02-27
你呀肯定不看接口编程的,这是两个不同的重载方法!
Collection<String> con = new ArrayList<String>(); con.add("a"); con.add("b"); con.add("c"); con.remove(0); System.out.println(con.size()); List<String> list = new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); list.remove(Integer.valueOf(0)); System.out.println(list.size());
3 楼
yangyi
2011-02-26
命名不规范的例证
2 楼
liubey
2011-02-26
细节决定成败~
1 楼
houfeng0923
2011-02-26
3
2
对比才知道呀。呵呵
2
对比才知道呀。呵呵
发表评论
-
test
2015-12-23 11:21 0test test test testtest te ... -
java.net.UnknownHostException
2013-11-22 16:22 0服务器上tomcat启动时,报如下错误: 15:2 ... -
OutOfMemoryError: unable to create new native thread
2013-11-20 15:49 3090当看到这个错误时,第一感觉是创建的线程太多了、 ... -
ibatis配置log4j输出sql
2013-06-04 11:53 0不输出httpclient请求头信息: log4j. ... -
命令行编译 运行java程序
2013-05-23 14:13 0lucene的demo代码,需要在命令行下运行,折腾了半会, ... -
GraphicsMagick和im4java按比例压缩图片
2013-04-22 19:26 83301.先安装libpng-1.6.2rc02.tar.gz( ... -
服务器上某应用cpu一直100%问题记录
2013-04-18 21:35 5069jstack 31066 |grep 'nid=79 ... -
jvisualvm远程监控tomcat
2013-11-20 14:02 1392在tomcat的catalina.sh中的JAVA_OPT ... -
计算byte表示的二进制数据中,1出现的次数
2011-11-29 12:55 1520无意中看到这个题目,开始想到的是把byte的二进制数据转为一个 ... -
eclipse下的gc.log记录
2011-07-06 08:06 1523eclipse下的gc.log记录: 6.784: [G ... -
利用Jackson对Object,Map,List,数组,枚举,日期类等转化为json
2011-05-18 22:43 50765利用Jackson中的ObjectMapper对象,转为对象为 ... -
设计模式 代理模式(静态代理)
2011-04-08 09:05 1241代理模式的作用:为其他对象提供代理以控制对这个对象的访问. ... -
alipay 电面记录
2011-04-06 21:10 14591. 网站压力测试 2.jvm 调优,jvm内存管理,垃圾收集 ... -
PermGen space 溢出 使用jstat查看 Permsize 占用情况 并设置 PermSize和MaxPermSize
2011-03-02 11:38 17752网站以前经常java.lang.OutOfMemoryErro ... -
tomcat6 中get 和 post 表单提交时编码的差别
2011-01-13 22:30 4335相信搞java的朋友都 ... -
struts2 报错时不进入 指定的500页面的原因
2010-12-15 13:34 5014折腾好些天了,我们项目用的web框架是struts2,具体那 ... -
jquery请求 返回json格式数据
2010-07-26 15:03 1624这个问题应该是常识性问题,可我还是不是很明白。 在前台用jqu ... -
java ant maven windows下 环境变量
2010-07-13 10:37 1309要运行springside,安装ant,maven是必需的。 ... -
java 工程再次无法编译
2010-06-03 09:38 1258以前遇到这种工程无法编译的情况,无非删掉class文件,重启i ... -
java path classpath
2010-05-04 15:16 1305windows xp下配置JDK环境变量: 1.安装JDK, ...
相关推荐
在Java编程语言中,集合框架是处理对象数组的重要工具,其中`Collection`接口和`List`接口是核心组件。本教程将重点介绍这两个接口以及如何使用它们来实现学生选课系统中的“增、删、改、查”操作。 首先,`...
其中,`Collection`、`List`、`Set`和`Map`是四大基本接口,它们各自代表了一种特定的数据结构,有着不同的特性和用途。下面我们将详细探讨这些接口的区别及其相关知识点。 首先,`Collection`是所有集合类的顶级...
### Java集合框架Collection接口详解 #### 一、Java集合框架简介 Java集合框架(Java Collection ...此外,了解`Collection`接口的不同实现(如`List`和`Set`)可以帮助开发者根据实际需求选择最合适的集合类型。
3. Collection接口的子接口,如Set接口(不允许重复元素)和List接口(元素有序并可重复)。 接下来,我们转向“2-集合框架002-List接口-1080P 高清-AVC.mp4”。List接口是Collection的一个子接口,它增加了索引...
Collection接口定义了许多通用方法,如`add()`, `remove()`, `contains()`, `size()`等,这些方法在List和Set中都有所实现。 1.2.2 迭代器 迭代器(Iterator)是访问集合元素的主要方式,通过`iterator()`方法获取...
Collection接口是Java集合框架的根接口,定义了基本的集合操作,而List接口和Set接口继承自Collection接口,提供了有序和无序的集合操作。Map接口提供了键值对的存储和操作。 Java集合框架是Java语言中最基本也是最...
本文将深入探讨`Collection`接口,它是所有类集的基础,以及与之相关的Java类和接口。 `Collection`接口位于`java.util`包下,是Java集合框架的顶级接口。它定义了存储、操作和遍历对象的基本方法。`Collection`...
10. **Set与List接口**:虽然都属于Collection接口,但Set接口不允许重复元素,而List接口允许重复元素并保持元素顺序。Set接口的典型实现有HashSet和TreeSet,List接口的常见实现有ArrayList和LinkedList。 理解并...
除了具有 Collection 接口必备的 iterator() 方法外,List 还提供一个 listIterator() 方法,返回一个 ListIterator 接口,和标准的 Iterator 接口相比,ListIterator 多了一些 add() 之类的方法,允许添加、删除、...
Collection接口定义了一些基本的操作方法,如add()(添加元素)、remove()(移除元素)和size()(获取元素数量)。它还有其他子接口,如List和Set,分别代表有序可重复和无序不重复的元素集合。 **链表(LinkedList...
### Collection、Map、List、Set、...以上就是关于 `Collection`、`Map`、`List`、`Set` 和 `Iterator` 的详细解析,这些概念和类是 Java 编程中非常基础且重要的部分,掌握它们有助于更好地理解和使用 Java 集合框架。
通过上述内容的学习,我们可以了解到`Collection`接口及其相关子接口(如`List`和`Set`)在Java集合框架中的重要作用。同时,我们也学习了如何使用这些接口来创建不同类型的集合,并掌握了如何通过迭代器来遍历集合...
所有的集合类,无论是List、Set还是Queue,都直接或间接地继承自Collection接口。Collection接口定义了基本的集合操作,如添加元素(add),删除元素(remove),检查元素是否存在(contains)等。此外,它还提供了遍历...
`Collection`接口也是`List`、`Set`和`Queue`等其他接口的超接口。 `ArrayList`是基于数组实现的列表,属于`List`接口的实现。在"9-集合框架009-ArrayList源码分析-1080P 高清-AVC.mp4"中,你可以了解到`ArrayList`...
所有其他单值容器,如List、Set和Queue,都直接或间接地继承自Collection接口。 HashMap是Java中基于哈希表实现的Map接口的一个实现,提供快速的插入、查找和删除操作。它的平均时间复杂度为O(1)。在21号章节中,...
Java集合排序及Java集合类...本文详细解释了Java集合框架的实现原理、Collection、List、Set、Map四个接口的定义和实现原理,以及它们的常用方法。同时,本文还对Java集合框架的设计理念和实现原理进行了详细的解释。
本文将深入探讨Java集合框架中的四个主要接口:Collection、List、Set和Map,以及它们的实现原理。 ### 集合框架概述 集合框架是Java API中用于存储和管理对象的统一框架。它为数据结构提供了抽象接口,使得程序员...
标题 "Implement with Class and Collection a List Collection with a" 暗示了我们需要讨论如何使用类(Class)和集合(Collection)来实现一个列表集合,并具备添加(add)和移除(remove)数据元素的功能。...
Collection的子接口包括List、Set和Queue,它们各自代表了不同种类的集合类型: - List 接口:有序的集合,可以包含重复的元素。其特点是元素有固定的顺序,可以通过索引来访问。 - Set 接口:不允许包含重复的元素...