经常我们要删除集合中的某些元素。有些可能会这么写。
创新互联公司是专业的光明网站建设公司,光明接单;提供网站设计制作、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行光明网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
public void operate(List list){
for (Iterator it = list.iterator(); it.hasNext();) {
String str = (String)it.next();
if (str.equals("chengang")){
list.remove(str);
}
}
}
这种写法一运行就会报如下异常:
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:449)
因为list在循环中的时候是不可以删除它的元素的。后来我是这样做的,一种很笨的方法,思路是这样的:创建一个List专门存放要被删除的元素,循环过后,用List.removeAll方法把元素删除。
代码如下:
public void operate(List list){
List removeList= new ArrayList();
for (Iterator it = list.iterator(); it.hasNext();) {
String str = (String)it.next();
if (str.equals("chengang")){
removeList.add(str);
}
}
list.removeAll(removeList);
}
这样也确实可以解决问题了,但是方法实在太笨重,其实可以有更简单的更高效的方法,就是用Iterator.remove方法,如下:
for (Iterator it = list.iterator(); it.hasNext();) {
String str = (String)it.next();
if (str.equals("chengang")){
it.remove();
}
}
程序整体思路如下:
JAVA删除文件内容,需要将文件内容读出来,然后再写回去,肯定需要用io处理。
任何程序的IO操作都逃不了Open与Close,如果打开了一个文件,进程将会锁住这个文件,不让其进程或者线程写入他,一旦读取完文件之后,需要Close掉他,这个是一套标准来着。
如果要实现这种功能,最好的方法是使用一个临时的内存去保存读取文件的数据,然后重新进行操作,覆盖掉读取的文件。
这个不是简单的数据库 数据的添加 删除 修改 和查看吗
这个是一个家具买卖页面所涉及的 曾删改查都有了,详细内容看代码
package Dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import Entity.JIAJU;
public class JiaJu {
public JIAJU selectExe(int shouhinId) {
JIAJU jia = new JIAJU();
try {
Connection con = ConnectionManager.getConnection();
String sql = "select * from jiaju where shouhinId=?";
PreparedStatement ps = con.prepareStatement(sql);
ps.setInt(1, shouhinId);
ResultSet rs = ps.executeQuery();
if (rs != null) {
while (rs.next()) {
jia.setShouhinId(rs.getInt("shouhinId"));
jia.setShouhinName(rs.getString("shouhinName"));
jia.setShouhinColor(rs.getString("shouhinColor"));
jia.setShouhinPrice(rs.getInt("shouhinPrice"));
jia.setShouhinPai(rs.getString("shouhinPai"));
jia.setShouhinShi(rs.getString("shouhinShi"));
// list.add(jia);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return jia;
}
public void insertJia(JIAJU jia) {
try {
Connection con = ConnectionManager.getConnection();
String sql = "insert into jiaju values(?,?,?,?,?)";
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, jia.getShouhinName());
ps.setString(2, jia.getShouhinColor());
ps.setInt(3, jia.getShouhinPrice());
ps.setString(4, jia.getShouhinPai());
ps.setString(5, jia.getShouhinShi());
ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
}
public List selectJia() {
List list = new ArrayList();
try {
Connection con = ConnectionManager.getConnection();
String sql = "select * from jiaju ";
PreparedStatement ps = con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
if (rs != null) {
while (rs.next()) {
JIAJU jia = new JIAJU();
jia.setShouhinId(rs.getInt("shouhinId"));
jia.setShouhinName(rs.getString("shouhinName"));
jia.setShouhinColor(rs.getString("shouhinColor"));
jia.setShouhinPrice(rs.getInt("shouhinPrice"));
jia.setShouhinPai(rs.getString("shouhinPai"));
jia.setShouhinShi(rs.getString("shouhinShi"));
list.add(jia);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
public JIAJU selectbuy(int shouhinId) {
JIAJU jia = new JIAJU();
try {
Connection con = ConnectionManager.getConnection();
String sql = "select * from jiaju where shouhinId=?";
PreparedStatement ps = con.prepareStatement(sql);
ps.setInt(1, shouhinId);
ResultSet rs = ps.executeQuery();
if (rs != null) {
while (rs.next()) {
jia.setShouhinId(rs.getInt("shouhinId"));
jia.setShouhinName(rs.getString("shouhinName"));
jia.setShouhinColor(rs.getString("shouhinColor"));
jia.setShouhinPrice(rs.getInt("shouhinPrice"));
jia.setShouhinPai(rs.getString("shouhinPai"));
jia.setShouhinShi(rs.getString("shouhinShi"));
}
}
} catch (Exception e) {
e.printStackTrace();
}
return jia;
}
public void updateLou(JIAJU jia){
try{
Connection con = ConnectionManager.getConnection();
String sql = "update jiaju set shouhinPrice=? where shouhinId=?";
PreparedStatement ps = con.prepareStatement(sql);
ps.setInt(1,jia.getShouhinPrice());
ps.setInt(2, jia.getShouhinId());
ps.executeUpdate();
}catch(Exception e){
e.printStackTrace();
}
}
public void deleteLou(JIAJU jia){
try{
Connection con = ConnectionManager.getConnection();
String sql = "delete from jiaju where shouhinId=?";
PreparedStatement ps = con.prepareStatement(sql);
ps.setInt(1, jia.getShouhinId());
ps.executeUpdate();
}catch(Exception e){
e.printStackTrace();
}
}
}