`
lhxctc
  • 浏览: 53073 次
  • 性别: Icon_minigender_1
  • 来自: 江西
社区版块
存档分类
最新评论

List列表中删除指定的多个对象,利用下标来实现

    博客分类:
  • Java
J# 
阅读更多


import java.util.ArrayList;
import java.util.List;

public class XZou {

	static class User {

		private String name;
		
	
		public User(String name) {
			super();
			this.name = name;
		}

		public String getName() {
			return name;
		}

		public void setName(String name) {
			this.name = name;
		}

	}

	public static void main(String[] args){
		
		List<User> list = new ArrayList<User>();
		

		for (int i = 1; i <= 10; i++) {

			list.add(new User("张三" + i));//里面放着10个人分别是张三1、张三2、张三3..张三10

		}
		
		//现在我要删除指定的张三7、张三6、张三3、张三2
		
		//当然您也可以去找到这些要删除的对象放到List中然后利用List的removeAll也可以删除。
		
		String []names = {"张三7","张三6","张三3","张三2"};
		
		List<Integer> tag = new ArrayList<Integer>();
		
		int j = 0;
		
		for(int i = 0; i<list.size(); i++){
			
			boolean boo = false;
			
			for(String name: names){
				
				if(list.get(i).getName().equals(name)){
					
					boo = true;
					break;
					
				}
			}
			if(boo){
				tag.add(j);
			}else{
				j++;
			}
			
		}
		//tag 中存放着需要删除的下标
		
		for(int i: tag){
			
			list.remove(i);
			
		}
		
		System.out.println(list);//结果
		
			
	}
	
	
}

分享到:
评论

相关推荐

    集合类(二):List集合

    在Java编程语言中,集合框架是处理对象集合的重要工具,其中List集合是广泛使用的接口之一。List接口继承自Collection接口,它定义了一种有序的、允许重复元素的集合。本篇我们将深入探讨List集合,包括其特点、常用...

    超级有影响力霸气的Java面试题大全文档

    如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。 18、error和exception有什么区别?  error 表示恢复...

    Excel VBA实用技巧大全 附书源码

    03008引用指定的多个工作表 03009引用新建的工作表 03010引用包含特定单元格的工作表 03011引用工作表名称中包含特定字符串的工作表 03012获取工作表名称 03013获取全部工作表名称 03014判断某个表是否为工作表 ...

    python程序设计课件pdf版

    创建列表有很多种方式,如直接用中括号定义、使用`list()`函数转换其他可迭代对象,或使用列表推导式生成满足特定条件的列表。列表的访问和删除主要通过索引操作,索引从0开始,从右向左索引为负数。 列表还提供了...

    《Python程序设计》习题与答案-python教材答案.docx

    Python使用基于值的内存管理,这意味着当不同变量被赋予相同值时,它们会引用内存中的同一个对象。通过`id()`函数可以查看对象的内存地址,以此判断是否为同一个值。 3. **模块导入方式**: - `import 模块名 [as...

    【收藏】Python实用技巧.pdf

    1. **解包(tuple packing/unpacking)**:解包允许你将多个值赋值给多个变量,或将多个值从容器(如列表、元组)中解包到变量中。 2. **变量和命名规则**:文档中提到了不同类型的变量命名(lower, UpperCase, ...

    python简答题复习题库1

    对于短字符串,将其赋值给多个不同的对象时,内存中只有一个副本,多个对象共享改副本。 8. 异常和错误有什么区别? 异常是指因为程序执行过程中出错而在正常控制流以外采取的行为。严格来说,语法错误和逻辑错误...

    学生管理系统

    本文将深入探讨一个使用C++编程语言实现的学生管理系统,该系统利用顺序表作为数据结构来存储和处理学生信息。 一、学生管理系统概述 学生管理系统的主要功能包括学生信息的录入、查询、修改和删除等。通过这样的...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例174 捕获多个异常 222 第8章 枚举与泛型的应用 223 8.1 枚举使用的简介 224 实例175 查看枚举类型的定义 224 实例176 枚举类型的基本特性 225 实例177 增加枚举元素的信息 226 实例178 选择合适的枚举元素 227 ...

    AutoCAD技巧

    在AutoCAD中进行标注时,添加上下标可以通过输入`^`或`_`符号来实现,如`A^2`表示A的平方。 ### 特殊符号输入 输入特殊符号,可以使用`MTEXT`命令结合`Ctrl+Shift+C`和`Ctrl+Shift+V`组合键,或使用`QTEXT`命令切换...

    彻底理解Python list切片原理

    下标可以为负数,这为访问列表提供了更多灵活性,但也可能导致意外的错误,尤其是当下标越界时。 - `str[0:3]`截取列表从索引0开始到索引2的元素。 - `str[:]`返回列表的所有元素。 - `str[6:]`从索引6开始到列表...

    java资源之Mybatis基础入门学习笔记

    - **对象方式**:将多个参数封装到一个对象中,通过对象属性名对应SQL占位符。 **使用Mybatis完成CRUD操作**: 1. **查询所有**:通过SqlSession的selectList方法获取所有数据。 2. **模糊查询**:在SQL中使用LIKE...

    C++ Node All.doc

    在面向对象编程中,对象通过其状态变量(数据成员)和可以用来操纵这些对象的操作(方法或函数成员)来定义。具有相同状态变量集和操作集的对象属于同一类。类是该类对象的类型,而对象则是该类的实例。一个类的对象...

    高级AutoCAD工程师绘图技巧_附:CAD快捷键大全

    使用LAYDEL命令后,在弹出的对话框中选择删除的对象,可以强制删除这些图层。 3. 打开旧图异常错误处理:当打开旧图出现错误时,可以尝试清理磁盘、修复图形文件或通过软件自带的RECOVER命令修复。 4. 在AutoCAD中...

    Java范例开发大全 (源程序)

     实例119 在指定的目录下创建多个临时文件 158  实例120 删除指定目录下的文件 160  实例121 移动指定目录下的文件 163  实例122 文件搜索引挚 167  7.2 字节流 169  实例123 复制指定目录下的文件 170 ...

    java范例开发大全(pdf&源码)

    实例119 在指定的目录下创建多个临时文件 158 实例120 删除指定目录下的文件 160 实例121 移动指定目录下的文件 163 实例122 文件搜索引挚 167 7.2 字节流 169 实例123 复制指定目录下的文件 170 实例124 显示文件中...

Global site tag (gtag.js) - Google Analytics