- 浏览: 510148 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (156)
- xml (4)
- web前端 (24)
- jQuery (18)
- java (38)
- SQL (9)
- perl (2)
- OTRS (1)
- GWT (4)
- Linux (32)
- Maven (2)
- Spring (2)
- Oracle Win7 (1)
- css (8)
- eclipse (3)
- mysql (11)
- tomcat (5)
- git (4)
- javascript (22)
- font (1)
- android (1)
- log4j (1)
- email (1)
- sublime plugin (1)
- html (2)
- matches (1)
- php (3)
- apache (3)
- gd (1)
- docker (5)
- rails (1)
- RabbitMQ (1)
- Ubuntu (3)
- L2TP VPN (1)
- nodejs (1)
- oraclejet (1)
- ubutun (1)
- ntp (1)
- ngix (1)
- ssl (1)
- https (1)
- Linux,Debian (2)
- dpkg (1)
- pac (1)
- vi (1)
- vim (1)
- java,http (0)
- httpClient (0)
- shutter (1)
- shell (1)
- redmine (1)
最新评论
-
纵观全局:
配置之后,连接显示不是私密连接
keytool生成证书与Tomcat SSL配置 -
zhuchao_ko:
可以 伪造
java获得ip地址 -
longhua2003:
代码太乱了
java下载文件 -
tomhat:
ccx410 写道 安装gwt报错,unable to ret ...
GWT CellTable -
ccx410:
安装gwt报错,unable to retrieve osgi ...
GWT CellTable
package com.chinaops.web.console.remote.servlet;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ListRemoveTest {
public static void main(String[] args) {
ListRemoveTest test = new ListRemoveTest();
System.out.println("-1-使用jdk5.0以后的增强for循环去remove");
List<String> list = test.buildList();
try {
for (String str : list) {
list.remove(str);
}
} catch (Exception e) {
// java.util.ConcurrentModificationException
e.printStackTrace();
}
System.out.println("-2-使用Iterator的remove");
list = test.buildList();
try {
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
iterator.remove();
}
} catch (Exception e) {
// java.lang.IllegalStateException
e.printStackTrace();
}
System.out.println("-3-iterator遍历+list的remove");
try {
list = test.buildList();
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
String str = (String) iterator.next();
list.remove(str);
}
} catch (Exception e) {
// java.util.ConcurrentModificationException
e.printStackTrace();
}
System.out.println("-4-使用list的remove(int)方法. [由后向前删除]");
list = test.buildList();
for (int i = list.size(); i > 0; i--) {
list.remove(i - 1);
}
System.out.println("-5-使用list的remove(int)方法. [由前向后删除]");
list = test.buildList();
for (int i = 0; i < list.size(); i++) {
list.remove(0);
}
System.out.println("-6-iterator遍历+list的iterator.remove");
try {
list = test.buildList();
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
String str = (String) iterator.next();
iterator.remove();//在iterator中应该这样删除
}
} catch (Exception e) {
e.printStackTrace();
}
}
private List<String> buildList() {
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
return list;
}
}
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ListRemoveTest {
public static void main(String[] args) {
ListRemoveTest test = new ListRemoveTest();
System.out.println("-1-使用jdk5.0以后的增强for循环去remove");
List<String> list = test.buildList();
try {
for (String str : list) {
list.remove(str);
}
} catch (Exception e) {
// java.util.ConcurrentModificationException
e.printStackTrace();
}
System.out.println("-2-使用Iterator的remove");
list = test.buildList();
try {
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
iterator.remove();
}
} catch (Exception e) {
// java.lang.IllegalStateException
e.printStackTrace();
}
System.out.println("-3-iterator遍历+list的remove");
try {
list = test.buildList();
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
String str = (String) iterator.next();
list.remove(str);
}
} catch (Exception e) {
// java.util.ConcurrentModificationException
e.printStackTrace();
}
System.out.println("-4-使用list的remove(int)方法. [由后向前删除]");
list = test.buildList();
for (int i = list.size(); i > 0; i--) {
list.remove(i - 1);
}
System.out.println("-5-使用list的remove(int)方法. [由前向后删除]");
list = test.buildList();
for (int i = 0; i < list.size(); i++) {
list.remove(0);
}
System.out.println("-6-iterator遍历+list的iterator.remove");
try {
list = test.buildList();
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
String str = (String) iterator.next();
iterator.remove();//在iterator中应该这样删除
}
} catch (Exception e) {
e.printStackTrace();
}
}
private List<String> buildList() {
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
return list;
}
}
发表评论
-
Apache HTTPClient 忽略证书
2019-01-25 15:03 1613/** * httpclient4.5.2版 * ... -
HTTP 返回码
2019-01-24 15:28 428HTTP1.1新增了五种请求方法:OPTIONS、PUT、PA ... -
Java SizeToHuman 大小转换为mb kb tb等
2017-08-21 15:12 1655public class TestSizeToHuman ... -
java常规格式化说明
2016-01-20 17:27 1384转 换 符说 明 ... -
java验证是否包含特殊字符/\:*?"<>
2016-01-05 15:25 8767public class MatchTest { ... -
JSP和JSTL获取服务器参数
2015-09-11 13:57 1200<%@ page language="java ... -
java计算时间差比较时间大小
2015-05-20 10:53 1122今天需要比较时间在网上找到然后写下: 比如:现在是:200 ... -
java发邮件
2014-11-19 15:37 1237一、 import java.util.Date; im ... -
java log4j.properties
2014-11-18 09:30 922log4j.properties配置文件如下: log4j ... -
java获得ip地址
2014-11-17 18:18 1330public String getIpAddr(Htt ... -
java下载文件
2014-11-07 10:57 1100// 文件名称中文乱码new String(filename. ... -
Android中RelativeLayout各个属性的含义
2014-10-11 15:06 877android:layout_above="@id ... -
Http发送请求
2014-09-17 15:01 902package wzh.Http; import j ... -
导出数据到excel
2014-09-03 16:20 1225/** * */ package com.chin ... -
Spring MVC @RequestBody接收JSON报HTTP 415/400问题的解决
2014-08-27 13:06 3812Ajax请求传@RequestBody(接收JSON)参数时, ... -
动态创建和修改Spring的bean配置文件
2014-08-06 18:23 43871、如果只是创建一个XML文件,那么只需要导入dom4j-1. ... -
request获取各种路径
2014-08-06 17:06 951从request获取各种路径总结 request.getRea ... -
Linux下设置开机自启动tomcat
2014-07-23 11:51 1956centos7 设置tomcat开机自启动 在tomcat/ ... -
Linux 设置环境变量JAVA_HOME ,鼠标右键打开终端,修改hostname
2014-07-03 14:21 1775一、ubuntu永久修改主机名 1、查看主机名 在Ubunt ... -
keytool生成证书与Tomcat SSL配置
2014-07-02 17:03 18176一、Keytool介绍 Keytool是一个Java数据证书 ...
相关推荐
在Java编程中,`iterator()`方法是集合框架中非常关键的一部分,主要用于遍历集合中的元素。当你遇到“方法iterator()找不着的问题”时,这通常意味着你在尝试使用`iterator()`时遇到了错误,可能是由于以下几个原因...
例如,可以定义一个字段来存储导致异常的具体原因,或者提供一个方法来获取详细的错误消息。 3. 在代码中,当遇到特定的错误条件时,通过`throw new 自定义异常类(错误信息)`来抛出自定义异常。这样,调用者可以...
- **异常处理:** Java强制要求捕获或声明抛出异常,而C++则允许程序员决定是否使用异常处理机制。 - **标准库:** Java的类库更加庞大和丰富,提供了更多的工具和框架支持。 - **安全性:** Java内置了更多的安全机制...
以下是一些主要的知识点: 1. **单元测试数据处理**: - 测试数据应加特殊前缀标识,以便区分于生产数据。 - 测试数据应使用独立的测试库,避免污染主数据库。 - 单元测试产生的脏数据应自动回滚,确保测试环境...
使用Iterator的好处是它可以检测并处理并发修改异常(ConcurrentModificationException),这是在遍历集合时尝试修改集合的常见错误。以下是如何使用Iterator遍历ArrayList: ```java ArrayList<String> arrayList ...
ArrayList的主要方法包括: 1. `add(E element)`: 向列表末尾添加一个元素。 2. `add(int index, E element)`: 在指定位置插入元素。 3. `remove(int index)`: 删除指定位置的元素。 4. `get(int index)`: 返回指定...
- **POST**方法:用于向指定资源提交数据进行处理请求(如提交表单),不能被缓存,不保留在浏览器历史记录中,可能会改变服务器状态。 #### Interface与abstract类的区别 - **接口(Interface)**: 只能包含抽象...
- **问题**:可能导致`ConcurrentModificationException`异常。 - **解决方案**:使用迭代器的`remove()`方法安全地删除元素。 #### 48. HashSet如何保证元素唯一性 - **原理**:通过`hashCode()`和`equals()`方法...
《Java开发手册(嵩山版)灵魂15问》中提到的禁止使用Apache Beanutils进行属性复制的原因主要是性能和安全性的考虑。Apache BeanUtils提供了便捷的属性拷贝功能,但在大规模或高性能应用中,其效率相对较低。相比其他...
- **service()**:处理客户端请求,根据请求方法调用相应的方法(如doGet/doPost)。 - **destroy()**:销毁Servlet,只执行一次。 25. **请简述一下Ajax的原理及实现步骤** - Ajax(Asynchronous JavaScript and...
例如,可能是在遍历`Map`时没有正确地处理`Iterator`,导致并发修改异常(`ConcurrentModificationException`);或者是在查找或插入键值对时遇到了键的唯一性问题;也可能是性能问题,比如在大量数据上使用了不适合...
- **方法重写(Overriding)**:发生在继承关系中的两个类之间,子类重新定义父类中的方法,方法名、返回类型及参数列表必须完全相同。 - **方法重载(Overloading)**:发生在同一个类中,允许存在多个同名方法,但...
当多个线程同时访问一个集合时,如果一个线程修改了集合,而另一个线程正在进行迭代,则抛出`ConcurrentModificationException`异常。 **39. 说说Hashtable 与 HashMap 的区别** - **线程安全性**:`Hashtable`...
- `Hashtable`直接使用键的`hashCode()`方法来计算哈希值,而`HashMap`会进一步处理键的哈希码,通常会调用`hash(key.hashCode())`来计算哈希值。 - **空键与空值的支持**: - `Hashtable`不允许键或值为空,而`...
- 当多个线程并发访问集合时,如果其中一个线程修改了集合结构,则其他正在访问该集合的线程会抛出`ConcurrentModificationException`异常,这就是快速失败机制。 #### 十、确保集合不可被修改 - **方法**:可以...
在Java编程中,遍历并删除List集合是一个常见的操作,但在实际编程中,如果不使用正确的方法,可能会导致`java.util.ConcurrentModificationException`异常。本文主要针对这个面试题,详细讲解如何在遍历List的同时...
- **原因**:数据不一致的主要原因是数据冗余,即同一数据在数据库中存在多份拷贝。 - **解决方案**:通过实施数据完整性控制措施,比如唯一约束、外键约束等,来避免数据冗余,从而提高数据的一致性。 #### 知识点...
在Java编程语言中,集合框架是处理对象存储和操作的核心工具。面试中,关于Java集合的知识点涵盖了集合的分类、接口、实现类以及其内部的工作原理。以下是对这些知识点的详细解析: 1. Java集合框架的层次结构: -...