众所周知,list在不泛型的情况下是可以存放各种数据类型的,代码如下:

   public static void main(String[] args) {
List list=new ArrayList<>();
list.add("我是字符串");
list.add(123);
list.add(new HashMap<>());
System.out.println(list);
  }

可以得到控制台的输出结果是:

[我是字符串, 123, {}]

而关于list移除数据的方法,很容易百度到,例如:

   public static void main(String[] args) {
List list=new ArrayList<>();
list.add("我是字符串");
list.add(123);
list.add(new HashMap<>());
System.out.println(list);
list.remove(0);//根据下标移除
System.out.println(list);
list.remove(Integer.valueOf(123));//根据元素内容进行移除
System.out.println(list);
  }

可以得到控制台的输出结果是:

[我是字符串, 123, {}]
[123, {}]
[{}]

而我们本次是根据数据类型进行移除list中的元素,此时是不无法确定下标或元素值的,因此使用Iterator,代码如下:

     public static void main(String[] args) {
List list=new ArrayList<>();
list.add("我是字符串");
list.add(123);
list.add(new HashMap<>());
System.out.println(list);
delData(list, HashMap.class);
System.out.println(list);
delData(list, "我是字符串".getClass());
System.out.println(list);
} /**
* list清除某种类型数据
* @param list list本体
* @param classObj 要清除的数据类型
*/
public static void delData(List list,Class classObj){
Iterator<Object> it=list.iterator();
while (it.hasNext()) {
if (classObj==it.next().getClass()) {
it.remove();
}
}
}

可以得到控制台的输出结果是:

[我是字符串, 123, {}]
[我是字符串, 123]
[123]

最后,惯例写下一些题外话,我这次问题也是在工作中遇到的,本身其实很简单,只是想直接百度偷懒下去复制粘贴,结果几分钟了没找到类似的答案,所以就顺便写下了,说不定能帮到其他的想偷懒的,或者刚入行的java新手呢。

再另外,说一句,list移除元素后(不管哪种方式移除),下标是动态直接变的,即后面的元素直接前移的,此时如果涉及到list下标进行操作的就要注意了(当年的我就是。。。说不定能帮到陷入此坑的初学者)

关于list中移除某种数据类型的方法的更多相关文章

  1. 在Pandas中更改列的数据类型【方法总结】

    先看一个非常简单的例子: a = [['a', '1.2', '4.2'], ['b', '70', '0.03'], ['x', '5', '0']] df = pd.DataFrame(a) 有什 ...

  2. 国内物联网平台(8):中移物联网开放平台OneNet

    国内物联网平台(8)——中移物联网开放平台OneNet 马智 平台定位 OneNET是中移物联网有限公司搭建的开放.共赢设备云平台,为各种跨平台物联网应用.行业解决方案,提供简便的云端接入.存储.计算 ...

  3. 中移苏研DCOS实践之路完整篇

    一.实践背景 1.1现网生产系统存在的问题 在中国移动内部各省市公司,由于技术迭代.设备更新的原因,设备繁杂,有x86server .VMware虚拟机.OpenStack虚拟机以及不同厂商的物理机( ...

  4. 二、 java中的变量与数据类型及类型转换

    标识符:凡是可以自己命名的地方都叫标识符,如:类名.方法名.接口名... 1.标识符命名的规则: 由26个英文字母大小写,0-9,_或$组成,不遵守会报错. 不可以用数字开头. 不能使用关键字和保留字 ...

  5. 国内物联网平台初探(八):中移物联网开放平台OneNet

    平台定位 OneNET是中移物联网有限公司搭建的开放.共赢设备云平台,为各种跨平台物联网应用.行业解决方案,提供简便的云端接入.存储.计算和展现,快速打造物联网产品应用,降低开发成本. IoT Paa ...

  6. 从String中移除空白字符的多种方式!?

    字符串,是Java中最常用的一个数据类型了.我们在日常开发时候会经常使用字符串做很多的操作.比如字符串的拼接.截断.替换等. 这一篇文章,我们介绍一个比较常见又容易被忽略的一个操作,那就是移除字符串中 ...

  7. android studio 中移除module和恢复module

    一.移除Android Studio中module 在Android Studio中想要删除某个module时,在Android Studio中选中module,右键发现没有delete,如图: An ...

  8. Sqlite3中存储类型和数据类型结合文档解析。

    sqlite3是个很小的数据库,运行在手机,机顶盒上....那它就不可能像musql,sqlserver那么规范,有很多的数据类型,之前我也以为它定义了很多数据类型,其实不是他就5个存储类,那么多数据 ...

  9. 【python cookbook】【数据结构与算法】10.从序列中移除重复项且保持元素间顺序不变

    问题:从序列中移除重复的元素,但仍然保持剩下的元素顺序不变 解决方案: 1.如果序列中的值时可哈希(hashable)的,可以通过使用集合和生成器解决.

随机推荐

  1. Scrapy详解

    一.爬虫生态框架 在管道传数据只能传字典和items类型. 将 上一return语句注释则会报错  如: 如上图,爬虫文件中有一个name属性,如果多个爬虫可以通过这个属性在管道控制分析的是哪个爬虫的 ...

  2. 201901<<叶武滨时间管理100讲>>

    2019年1月份读物整理: 1月份,在喜马拉雅上听的这个课程叶武滨时间管理100讲,每天利用上下班时间听完的,对其中的一些讲的点很有感触.今年的读书计划,希望自己能把读的每本书都用思维导图的方式整理出 ...

  3. centos7 安装 redis-4.0.9

    下载地址:https://redis.io/download 下载 安装: $ wget http://download.redis.io/releases/redis-4.0.9.tar.gz $ ...

  4. How to emulate a Raspberry Pi on your PC

    How to emulate a Raspberry Pi on your PC I am very interested in trying simulators and emulators for ...

  5. Angular4 组件间通讯

  6. python __str__() 和 __repr__()是干啥的

    1. 没定义__str__() print的时候得不到自己想要的东西 类默认转化的字符串基本没有我们想要的一些东西,仅仅包含了类的名称以及实例的 ID (理解为 Python 对象的内存地址即可).虽 ...

  7. 牛客OI周赛7-提高组 A 小睿睿的等式

    链接:https://ac.nowcoder.com/acm/contest/371/A来源:牛客网 小睿睿在游戏开始时有n根火柴棒,他想知道能摆成形如“A+B=n”的等式且使用的火柴棒数也恰好等于n ...

  8. python 基于numpy的线性代数运算

    import numpy as np A = [[1,2],[2,1]] np.linalg.inv(A)  #计算矩阵A的逆矩阵. #显示结果 [[-0.33333333 0.66666667] [ ...

  9. flutter -icons

    icon 合集 https://material.io/tools/icons/?icon=account_balance&style=baseline

  10. spring框架-jdbc

    一.实体层的不同名字    entity 实体类 :就是和数据库表一一对应的JavaBean  pojo 简单的java对象:任何应用场景的JavaBean  po 持久化对象 :就是和数据库表一一对 ...