List遍历以及剔除指定数据

一.list三种遍历方式

1.for循环

List<String> list = new ArrayList<String>();
		list.add("A");
		list.add("B");
		list.add("C");
		list.add("D");
		for(int i = 0;i < list.size(); i++){
			System.out.println(list.get(i));
		}

2.foreach循环

List<String> list = new ArrayList<String>();
		list.add("A");
		list.add("A");
		list.add("C");
		list.add("D");
		for(String name : list){
			System.out.println(name);
		}

3.迭代器循环

List<String> list = new ArrayList<String>();
		list.add("A");
		list.add("A");
		list.add("C");
		list.add("D");
		Iterator<String> it = list.iterator();
		while(it.hasNext()){
			System.out.println(it.next());
		}

 

二.遍历list并删除符合条件的数据  

1.首先是我们最常见的for循环,通过索引下标来

List<String> list = new ArrayList<String>();
		list.add("A");
		list.add("A");
		list.add("C");
		list.add("D");
		System.out.println(list.toString());
		for(int i = 0;i < list.size(); i++){
			String str = list.get(i);
			if(str.equals("A")){
				list.remove(i);
			}
		}
		System.out.println(list.toString());

2.foreach循环删除

List<String> list = new ArrayList<String>();
		list.add("A");
		list.add("A");
		list.add("C");
		list.add("D");
		for(String name : list){
			if(name.equals("A")){
				list.remove(name);
			}
		}
		System.out.println(list.toString());

3.迭代器删除

List<String> list = new ArrayList<String>();
		list.add("A");
		list.add("A");
		list.add("C");
		list.add("D");
		Iterator<String> it = list.iterator();
		while(it.hasNext()){
			if(it.next().equals("A")){
				it.remove();
			}
		}
		System.out.println(list.toString());

  

  

  

 

  

 

转载于:https://www.cnblogs.com/wangzhengyu/p/10998910.html

在Matlab中,剔除数据的方法有多种。下面我将介绍两种常用的方法。 方法一是使用for循环遍历元胞数组并删除匹配数据。首先,定义一个包含数据的元胞数组`data`和要删除的数据的元胞数组`delete`。然后,使用两个for循环遍历元胞数组并删除匹配的数据。在代码中,我们从数组末尾开始循环,这样删除元素不会导致后续元素的索引变化。具体代码如下: ``` data = {'apple', 'banana', 'pear', 'orange', 'kiwi'}; delete = {'pear', 'kiwi'}; for i=length(data):-1:1 for j=1:length(delete) if strcmp(data{i}, delete{j}) data(i) = []; break; end end end ``` 请注意,这种方法需要使用两个嵌套的for循环,相对比较繁琐。 方法二是使用Matlab的in函数删除匹配数据。首先,定义一个包含数据的元胞数组`data`和要删除的数据的元胞数组`delete`。然后,使用Matlab的in函数`ismember`查找匹配的数据,并使用空括号`[]`删除这些数据。这种方法的代码比for循环方法更简洁。具体代码如下: ``` data = {'apple', 'banana', 'pear', 'orange', 'kiwi'}; delete = {'pear', 'kiwi'}; data(ismember(data, delete)) = []; ``` 此方法利用了`ismember`函数的功能,通过逻辑索引将匹配的数据删除。 除了以上两种方法,还可以使用Matlab中自带的`unique`函数来剔除重复的数据。通过`unique`函数的参数设置,可以选择保留第一个出现的数据或保留最后一个出现的数据。具体代码如下: ``` = unique(data, 'rows', 'stable'); ``` 其中,`data`是要剔除数据的数组,`'rows'`表示按行比较,`'stable'`表示保持数据在原始数组中的顺序。 另外,如果要剔除Excel文件中的重复行,可以使用`readtable`函数读取含有文本型数据的Excel文件,再使用`unique`函数剔除重复行。具体代码如下: ``` filename = '路径\example.xlsx'; % 输入文件路径和文件名 sheet = 'Sheet1'; % 输入表格名称 data = readtable(filename,'Sheet',sheet); = unique(data(:,5:11), 'rows'); result = data(unique(idx), :); ``` 以上就是在Matlab中剔除数据的几种方法,您可以根据具体的需求选择适合的方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [删除Matlab中的元胞数组数据](https://blog.csdn.net/Jack_user/article/details/131278278)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [MATLAB数据处理系列-重复数据剔除](https://blog.csdn.net/xiatiandexia123/article/details/130140049)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值