`

将list中某个元素放在首位

阅读更多
需求:程序开发过程中,业务方要求在展示国家列表时要将US放在首位,其余按照字母顺序排序

思路:遍历获取US暂时保存,然后删除list中的US,最后将US放在首位

问题:遍历的同时进行删除操作是不允许的

解决:


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

/**
 * 将已有集合中的某个值放在集合的首位
 * 1. 先删除某元素,再在首位添加某元素
 * 2. 遍历集合比较出此元素在集合中的位置,将首位的元素与此元素进行交换
 */
public class ListExchangeElementMain {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		List<String> list = new ArrayList<String>(16);
		list.add("2");
		list.add("3");
		list.add("4");
		list.add("1");
		list.add("5");
//		ListSort(list);
		listSort2(list);
	}

	/**
	 * 将 1 放在首位
	 * 先删除,再添加
	 * 备注:需要注意  arrayList.remove 方法有重载,若此时删除的是 1 ,Integer 类型,则无法正确匹配
	 * 		 是按照数组位置1进行删除,还是删除value值为1的元素
	 * 
	 * 若value是 Integer 类型的数据,则可以遍历集合,找到此元素在集合中的位置,进而将其与首位的元素进行交换
	 */
	public static void ListSort(List<String> list){
		if(null != list && list.size() > 0 ){
			list.remove("1");
			printList(list);
			list.add(0,"1");
			printList(list);
		}
	}
	
	/**
	 * 将 1 放在首位
	 * 遍历交换元素位置
	 * @param list
	 */
	public static void listSort2(List<String> list){
		if(null != list && list.size() > 0){
			for(int index = 0 , length = list.size() ; index < length ; index++){
				if("1".equals(list.get(index))){
					String temp = list.get(0);
					list.set(0, list.get(index));
					list.set(index, temp);
				}
			}
			printList(list);
		}
	}
	
	public static void printList(List<String> list){
		for(String inte : list){
			System.out.print(inte+" ");
		}
	}
	
}

分享到:
评论

相关推荐

    C#遍历List并删除某个元素的方法

    以下将详细介绍如何在C#中遍历List并删除元素,包括正序和倒序遍历的技巧。 首先,我们来看一下错误的遍历方式。通常,开发者可能会本能地使用for循环来遍历List,如下所示: ```csharp for (int i = 0; i &lt; list....

    java获取list中两元素时间差

    Java 获取 List 中两元素时间差 Java 中获取 List 中两元素时间差是指在 List 集合中计算每个元素之间的时间差异。下面是相关知识点的详细解释: List 数据结构 List 是一种常见的数据结构,在 Java 中有多种实现...

    python 寻找list中最大元素对应的索引方法

    以上这篇python 寻找list中最大元素对应的索引方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:python numpy和list查询其中某个数的个数及定位方法...

    STL中list的使用

    2. **merge方法**:将另一个`list`的元素合并到当前`list`中,并保持排序。如`c2.merge(c1);`。 3. **pop_back和pop_front方法**:分别移除`list`的最后一个和第一个元素。 4. **push_back和push_front方法**:分别...

    Python 查看list中是否含有某元素的方法

    以上这篇Python 查看list中是否含有某元素的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:python list是否包含另一个list所有元素的实例Python...

    C# 修改list所有对象中的某字段

    本主题聚焦于如何修改List中所有对象的某个特定字段。Lambda表达式和ForEach方法是实现这一目标的常用工具。下面将详细介绍这两种方法。 **Lambda表达式** Lambda表达式是C# 3.0引入的一种简洁的匿名函数表示法,...

    数组,List 重复元素统计数量,找出唯一的元素

    int[] arr = { 1, 2, 2, 3, 3, 4, 4, 4, 1, 5, 6, 6, 6 }; 两种不同方式(使用map和list两种方式)获得一下输出结果 数组和list 可以使用相同的方法,自己测试可以 控制台输出 ...数组中唯一的元素是:5

    Python 查找list中的某个元素的所有的下标方法

    如下所示: #!/usr/bin/env python #_*_ coding:utf-8 _*_ name = ['hello', 'world', 'a', '... new_list = name[first_pos:] next_pos = new_list.index(2) + 1 print 'find ', first_pos + new_list.index(2) fi

    java计算同一个list中是否有相同的值

    如果找到,则将该元素添加到一个新的列表 `list2` 中,并从原列表 `list` 中移除它。 4. **计数**:计算 `list2` 的大小并加上 1(因为还需要考虑当前元素本身),然后将其与之前记录的最大重复次数 `num` 进行比较...

    list 元素循环比较

    list 元素循环比较list 元素循环比较list 元素循环比较list 元素循环比较list 元素循环比较list 元素循环比较

    std::List类的遍历获得元素的操作二法

    但是,`std::list`提供了迭代器接口,我们可以利用迭代器来遍历并访问容器中的每个元素。以下是两种遍历`std::list`并获取其元素的方法。 ### 方法一:迭代器遍历 在C++中,迭代器是访问容器内元素的指针类似对象...

    使用python list 查找所有匹配元素的位置实例

    如下所示: import re word = test s = test abcdas test 1234 testcase testsuite ... 您可能感兴趣的文章:Python 查找list中的某个元素的所有的下标方法python 获取list特定元素下标的实例讲解python

    java中关于集合的操作

    - **合并**:`addAll()`可以将一个集合的元素添加到另一个集合中。 - **过滤**:Java 8引入的流API允许使用`filter()`进行条件过滤。 - **映射**:使用`map()`对集合中的每个元素应用函数。 - **并集、交集、...

    将list中的内容根据某一属性的值对list进行拆分

    拆分list,将list中的内容根据某一属性的值对list进行拆分,分组

    Python对List中的元素排序的方法

    首先定义一个compare函数: ...要求ListA中的元素有value这个属性才行,当然也可以把value换成ListA中的元素的其他共有属性也可以。感觉和Java差不多。 总结 以上所述是小编给大家介绍的Python对List中的元素排

    C#查找列表中所有重复出现元素的方法

    本篇文章将深入探讨如何在C#中查找列表中的所有重复元素,并提供一个具体的实现示例。 首先,我们需要了解C#中的列表类型`List&lt;T&gt;`。`List&lt;T&gt;`是.NET框架提供的一个泛型类,它实现了`IList&lt;T&gt;`、`ICollection&lt;T&gt;`和...

    如何将列表中元素首字母大写

    如果你需要将列表中的每个元素的首字母转换为大写,可以使用多种方法实现。这里我们将深入探讨如何利用Python的内置函数来达到这个目的,以及一些相关的字符串和列表操作。 首先,让我们回顾一下题目给出的示例代码...

    python里将list中元素依次向前移动一位

    定义一个int型的一维数组,包含10个元素,分别赋值为1~10, 然后将数组中的元素都向前移一个位置, 即,a[0]=a[1],a[1]=a[2],…最后一个元素的值是原来第一个元素的值,然后输出这个数组。 解决(Python) #!/usr/bin...

    C#list集合按元素出现次数排序取值(含去重功能)

    此文件搭配本人发表的文章:C#list集合按元素出现次数排序取值(含去重功能),资源完全免费下载,不收取任何费用,纯粹的技术交流。联系方式在文章中有,喜欢的朋友们可以互相交流一下。

    C#把数组中的某个元素取出来放到第一个位置的实现方法

    有时我们需要根据特定条件将数组中的某个元素移动到首位,以便于快速访问或处理。本篇将详细讲解如何实现这一功能。 首先,我们要明确操作的目标是将数组中满足特定条件的元素移到数组的第一个位置,也就是索引为0...

Global site tag (gtag.js) - Google Analytics