JAVA中删除数据库数据,根据数组删除,怎么写。 方法:public void delete(int[] ids) {

JAVA中删除数据库数据,根据数组删除,怎么写。 方法:public void delete(int[] ids) {,第1张

public void delete(int[] id) throws SQLException{

//假定conn ps 都获取到

Connection conn=null

StringBuffer sql=new StringBuffer("delete from school where id in(")

for (int i = 0i <id.lengthi++) {

if (i==id.length-1)

sql.append(id[i]+")")

else

sql.append(id[i]+",")

}

PreparedStatement ps=conn.prepareStatement(sql.toString())

ps.execute()

}

public class ArrayRemove {

public static void main(String[] args) {

String[][] product=new String[][]{

{"Dior","1000","10"},//00,01,02

{"Channel","2000","10"},//10,11,12

{"Tissot","3000","10"},//20,21,22

{"","",""}

}

//二维数组转成List集合

List<String>arrayList=new ArrayList<String>()

for(int i=0i<product.lengthi++)

{

for(int j=0j<product[i].lengthj++)

{

arrayList.add(product[i][j])

}

}

arrayList.remove(2)//移除指定位置的内容,后续元素往前移动

arrayList.add(2, "")//因为你删除了第2个元素,为了和你的二维数组匹配,则插入一个空元素

arrayList.set(2, "20")//或者可以直接修改指定位置的元素,这样更好

Iterator<String>it = arrayList.iterator()

while(it.hasNext())

{

System.out.println(it.next())

}

System.out.println("=======转回二维数组=========")

String[][] productNew=new String[arrayList.size()][]

for(int i=0i<arrayList.size()i++)

{

String[] temp={arrayList.get(i)}

for(int j=0j<product.lengthj++)

{

productNew[i]=temp

}

}

for(int i=0i<productNew.lengthi++)

{

for(int j=0j<productNew[i].lengthj++)

{

System.out.println(productNew[i][j])

}

}

}

}

数组删除数据不是很方便的,因为中间空了,需要把删除的index的后面的元素依次往前移动

如果不是一定要用数组,可以用java提供的 ArrayList 和 LinkedList,都有提供删除元素的 *** 作,不过后者底层是链表实现,删除的效率很高, O(1) 的 *** 作;ArrayList 效率低一些


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9896380.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存