list 订阅
list是一个计算机专业术语,在编程语言中List 是类库中的一个类,可以简单视之为双向连结串行,以线性列的方式管理物件集合。 展开全文
list是一个计算机专业术语,在编程语言中List 是类库中的一个类,可以简单视之为双向连结串行,以线性列的方式管理物件集合。
信息
类    型
计算机专业术语
区别于
vector
中文名
list
一般定义
一览表; 明细表; 目录; 名单
list一般定义
一览表; 明细表; 目录; 名[清、价目]单list 的特色是在集合的任何位置增加或删除元素都很快,但是不支持随机存取。list 是类库提供的众多容器(container)之一,除此之外还有vector、set、map、…等等。list 以模板方式实现(即泛型),可以处理任意型别的变量,包括使用者自定义的资料型态
收起全文
精华内容
下载资源
问答
  • 实现集合List中的元素进行排序

    万次阅读 多人点赞 2016-06-14 22:08:32
    Collections对List集合中的数据进行排序 有时候需要对集合中的元素按照一定的规则进行排序,这就需要用到 Java中提供的对集合进行操作的工具类Collections,其中的sort方法 先看一个简单的例子: public static ...

     

    Collections对List集合中的数据进行排序

    有时候需要对集合中的元素按照一定的规则进行排序,这就需要用到

     

    Java中提供的对集合进行操作的工具类Collections,其中的sort方法

     

    先看一个简单的例子:

     

    public static void main(String[] args) {
    	List<Integer> nums = new ArrayList<Integer>();
    		nums.add(3);
    		nums.add(5);
    		nums.add(1);
    		nums.add(0);
    		System.out.println(nums);
    		Collections.sort(nums);
    		System.out.println(nums);
    }

    输出结果:
    [3, 5, 1, 0]
    [0, 1, 3, 5]

     

    稍微复杂的List里面放一个复杂的对象

     

    package core.java.collection.collections;
    
    public class User implements Comparable<User>{
    	
    	private int score;
    	
    	private int age;
    	
    	public User(int score, int age){
    		super();
    		this.score = score;
    		this.age = age;
    	}
    
    	public int getScore() {
    		return score;
    	}
    
    	public void setScore(int score) {
    		this.score = score;
    	}
    
    	public int getAge() {
    		return age;
    	}
    
    	public void setAge(int age) {
    		this.age = age;
    	}
    
    	@Override
    	public int compareTo(User o) {
    		int i = this.getAge() - o.getAge();//先按照年龄排序
    		if(i == 0){
    			return this.score - o.getScore();//如果年龄相等了再用分数进行排序
    		}
    		return i;
    	}
    	
    }
    
    public static void main(String[] args) {
    		List<User> users = new ArrayList<User>();
    		users.add(new User(78, 26));
    		users.add(new User(67, 23));
    		users.add(new User(34, 56));
    		users.add(new User(55, 23));
    		Collections.sort(users);
    		for(User user : users){
    			System.out.println(user.getScore() + "," + user.getAge());
    		}
    }

    输出结果:
    55,23
    67,23
    78,26
    34,56
    我们会发现sort(List<T>)方法中List中的T必须实现Comparable<T>接口,然后实现
    compareTo()方法,该方法的返回值0代表相等,1表示大于,-1表示小于;为什么
    在简单例子中没有看到实现Comparable接口呢?是因为Integer类其实自己已经实现
    了Comparable接口,Java已经给我们做好了。

    Collections提供的第二种排序方法sort(List<T> list, Comparator<? super T> c)
    先看例子:

    package core.java.collection.collections;
    
    public class Students {
    	
    	private int age;
    	private int score;
    	
    	public Students(int age, int score){
    		super();
    		this.age = age;
    		this.score = score;
    	}
    	
    	public int getAge() {
    		return age;
    	}
    	public void setAge(int age) {
    		this.age = age;
    	}
    	public int getScore() {
    		return score;
    	}
    	public void setScore(int score) {
    		this.score = score;
    	}
    }
    public static void main(String[] args) {
    		List<Students> students = new ArrayList<Students>();
    		students.add(new Students(23, 100));
    		students.add(new Students(27, 98));
    		students.add(new Students(29, 99));
    		students.add(new Students(29, 98));
    		students.add(new Students(22, 89));
    		Collections.sort(students, new Comparator<Students>() {
    
    			@Override
    			public int compare(Students o1, Students o2) {
    				int i = o1.getScore() - o2.getScore();
    				if(i == 0){
    					return o1.getAge() - o2.getAge();
    				}
    				return i;
    			}
    		});
    		for(Students stu : students){
    			System.out.println("score:" + stu.getScore() + ":age" + stu.getAge());
    		}
    }

    输出结果:
    score:89:age22
    score:98:age27
    score:98:age29
    score:99:age29
    score:100:age23

    从上面的例子我们可以看出Students类没有实现Comparable<T>接口,只是在sort()方法
    中多传入一个参数,只不过该参数是一个接口我们需要实现其compare方法。

    以上就是是Java中Colelctions工具类为我们提供的两种集合排序方法。

     

     

    展开全文
  • list去重,根据对象某个属性、某几个属性去重 去除List中重复的String List unique = list.stream().distinct().collect(Collectors.toList()); 去除List中重复的对象 // Person 对象 public class ...

    list去重,根据对象某个属性、某几个属性去重

    去除List中重复的String

    List unique = list.stream().distinct().collect(Collectors.toList());

    去除List中重复的对象

    // Person 对象
    public class Person {
        private String id;
        
        private String name;
        
        private String sex;
    
        <!--省略 get set-->
    }
    
    // 根据name去重
    List<Person> unique = persons.stream().collect(
                Collectors.collectingAndThen(
                        Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(Person::getName))), ArrayList::new)
    );
    
    
    // 根据name,sex两个属性去重
    List<Person> unique = persons.stream().collect(
               Collectors. collectingAndThen(
                        Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getName() + ";" + o.getSex()))), ArrayList::new)
    );
    

    filter()过滤列表

    List<Person> filterList = persons.stream().filter(p -> p.getSex().equals(1)).collect(Collectors.toList());
    
    
    List转Map

    从一个Person对象的List集合,取出idname组成一个map集合

    Map<String, String> collect = list.stream().collect(Collectors.toMap(p -> p.getId(), p -> p.getName()));
    
    从 List 中取出某个属性的组成 list 集合
    //1.提取出list对象中的一个属性
    List<String> stIdList1 = stuList.stream().map(Person::getId).collect(Collectors.toList());
    
    //2.提取出list对象中的一个属性并去重
    List<String> stIdList2 = stuList.stream().map(Person::getId).distinct().collect(Collectors.toList());
    
    展开全文
  • pandas DataFrame数据转为list

    万次阅读 多人点赞 2017-05-21 22:46:10
    首先使用np.array()函数把DataFrame转化为np.ndarray(),再利用tolist()函数把np.ndarray()转为list,示例代码如下:# -*- coding:utf-8-*- import numpy as np import pandas as pddata_x = pd.read_csv("E:/...

    首先使用np.array()函数把DataFrame转化为np.ndarray(),再利用tolist()函数把np.ndarray()转为list,示例代码如下:

    # -*- coding:utf-8-*-
    import numpy as np
    import pandas as pd
    
    data_x = pd.read_csv("E:/Tianchi/result/features.csv",usecols=[2,3,4])#pd.dataframe
    data_y =  pd.read_csv("E:/Tianchi/result/features.csv",usecols=[5])
    
    train_data = np.array(data_x)#np.ndarray()
    train_x_list=train_data.tolist()#list
    print(train_x_list)
    print(type(train_x_list))
    
    展开全文
  • python 两个list 求交集,并集,差集

    万次阅读 多人点赞 2016-06-09 17:59:52
    在python中,数组可以用list来表示。如果有两个数组,分别要求交集,并集与差集,怎么实现比较方便呢? 当然最容易想到的是对两个数组做循环,即写两个for循环来实现。这种写法大部分同学应该都会,而且也没有太多...

    项目github地址:bitcarmanlee easy-algorithm-interview-and-practice
    经常有同学私信或留言询问相关问题,V号bitcarmanlee。github上star的同学,在我能力与时间允许范围内,尽可能帮大家解答相关问题,一起进步。

    在python中,数组可以用list来表示。如果有两个数组,分别要求交集,并集与差集,怎么实现比较方便呢?
    当然最容易想到的是对两个数组做循环,即写两个for循环来实现。这种写法大部分同学应该都会,而且也没有太多的技术含量,本博主就不解释了。这里给大家使用更为装bility的一些方法。

    老规矩,talk is cheap,show me the code

    #!/usr/bin/env python
    #coding:utf-8
    
    '''
    Created on 2016年6月9日
    
    @author: lei.wang
    '''
    
    def diff(listA,listB):
        #求交集的两种方式
        retA = [i for i in listA if i in listB]
        retB = list(set(listA).intersection(set(listB)))
        
        print "retA is: ",retA
        print "retB is: ",retB
        
        #求并集
        retC = list(set(listA).union(set(listB)))
        print "retC1 is: ",retC
        
        #求差集,在B中但不在A中
        retD = list(set(listB).difference(set(listA)))
        print "retD is: ",retD
        
        retE = [i for i in listB if i not in listA]
        print "retE is: ",retE
        
    def main():
        listA = [1,2,3,4,5]
        listB = [3,4,5,6,7]
        diff(listA,listB)
        
    if __name__ == '__main__':
        main()
    

    让code run起来

    retA is:  [3, 4, 5]
    retB is:  [3, 4, 5]
    retC1 is:  [1, 2, 3, 4, 5, 6, 7]
    retD is:  [6, 7]
    retE is:  [6, 7]
    

    结合代码来看,大体上是两种思路:
    1.使用列表解析式。列表解析式一般来说比循环更快,而且更pythonic显得更牛逼。
    2.将list转成set以后,使用set的各种方法去处理。

    展开全文
  • Java数组转List的三种方式及对比

    万次阅读 多人点赞 2018-03-18 00:10:04
    本文介绍Java中数组转为List三种情况的优劣对比,以及应用场景的对比,以及程序员常犯的类型转换错误原因解析。
  • List数据去重的五种有效方法

    万次阅读 多人点赞 2019-07-16 15:25:35
    List去重方案方案一 方案一 /** * 去除重复数据 * * @param list */ public List<Map<String, Object>> distinct(List<Map<String, Object>> list) { final boolean sta =.....
  • Java编程:删除 List 元素的三种正确方法

    万次阅读 多人点赞 2016-11-30 16:44:59
    删除 List 中的元素会产生两个问题: 删除元素后 List 的元素数量会发生变化; 对 List 进行删除操作可能会产生并发问题; 我们通过代码示例演示正确的删除逻辑package com.ips.list;import java.util.ArrayList;...
  • 在实际开发中,经常会遇到需要找出(删除)一个list中某些元素的属性相同的元素,或者两个list中某些元素的属性相等的元素,这种方法很多,这里整理列出一些: 废话不说,上代码,有注释掉的你们自己看import java....
  • Pandas把dataframe或series转换成list

    万次阅读 多人点赞 2019-08-12 12:25:15
    把dataframe转换为list 输入多维dataframe: df = pd.DataFrame({'a':[1,3,5,7,4,5,6,4,7,8,9], 'b':[3,5,6,2,4,6,7,8,7,8,9]}) 把a列的元素转换成list: # 方法1 df['a'].values.tolist() # 方法2 df['a']....
  • fastjson List转JSONArray以及JSONArray转List

    万次阅读 多人点赞 2018-05-31 11:25:54
    1.fastjson List转JSONArrayList&lt;T&gt; list = new ArrayList&lt;T&gt;();JSONArray array= JSONArray.parseArray(JSON.toJSONString(list));2.fastjson JSONArray转ListJSONArray array = ...
  • Java8新特性Stream之list转map及问题解决

    万次阅读 多人点赞 2018-10-11 14:57:44
    List集合转Map,用到的是Stream中Collectors的toMap方法:Collectors.toMap 具体用法实例如下: //声明一个List集合 List&amp;lt;Person&amp;gt; list = new ArrayList(); list.add(new Person(&...
  • list的五种去重方法

    万次阅读 多人点赞 2018-10-31 10:12:35
    面试中经常被问到的list如何去重,一般是口述,不需要代码体现,这个时候,思维一定要清晰,可以罗列出集中去重的方法,以展现你对list数据结构,以及相关方法的掌握,体现你的java基础学的是否牢固 下面,我就将五种方法逐一...
  • List转JSONArray和JSONArray转List

    万次阅读 多人点赞 2019-08-19 20:59:33
    1.List转JSONArray List<T> list = new ArrayList<T>(); JSONArray array= JSONArray.parseArray(JSON.toJSONString(list)); 2.JSONArray转List JSONArray array = new JSONArray(); List<...
  • List转Map的三种方法

    万次阅读 多人点赞 2018-04-03 13:26:33
    List转Map三种方法。
  • 问题一:ftpusers和user_list两个文件各自的用途是什么?有何关系?首先请明确一点:ftpusers不受任何配制项的影响,它总是有效,它是一个黑名单!该文件存放的是一个禁止访问FTP的用户列表,通常为了安全考虑,管理...
  • Mybatis 传递参数类型为List的取值问题 问题描述: 参数传递为List时: 当传递一个 List 实例或者数组作为参数对象传给 Mybatis。此时,Mybatis 会自动将它包装在一个 Map 中,用名称在作为键。List 实例将会以“list...
  • unable to access android sdk add-on list

    万次阅读 多人点赞 2016-01-22 17:01:15
    unable to access android sdk add-on list 原因: 在第一次安装AS,启动后,检测到电脑没有SDK。 知道了原因,自然有解决方法,可以在以后安装sdk,或者设置初次打开AS,不下载sdk 解决方法: 第一种...
  • 以下两种情况都会出现此错误: points = [ [1, 2], ...list的维数必须一致:正确写法: points = [ [1, 2], [0, 4], [2, 0] ] 这个也会报错: stations = ['Schagen', 'Heerhugow...
  • python中list与string的转换

    万次阅读 多人点赞 2019-05-15 13:00:14
    1.list转string 命令:''.join(list) 其中,引号中是字符之间的分割符,如“,”,“;”,“\t”等等 如: list = [1, 2, 3, 4, 5] ''.join(list) 结果即为:12345 ','.join(list) 结果即为:1,2,3,4,5 str=...
  • list stream:计算对象List中某个字段的总和

    万次阅读 多人点赞 2019-03-17 02:29:21
    计算一个number类型的List对象总和 Integer[] integerArray = {1, 3, 5, 10, 18}; List&lt;Integer&gt; list = new ArrayList&lt;&gt;(Arrays.asList(integerArray)); IntSummaryStatistics ...
  • Java中List的详细用法

    万次阅读 多人点赞 2018-09-11 16:36:43
    list中添加,获取,删除元素; list中是否包含某个元素; list中根据索引将元素数值改变(替换); list中查看(判断)元素的索引; 根据元素索引位置进行的判断; 利用list中索引位置重新生成一个新的list(截取...
  • java怎么获取list长度

    万次阅读 多人点赞 2018-06-19 20:08:38
    java 怎么获取list长度java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()...
  • Python中如何求列表list的平均数

    万次阅读 多人点赞 2019-09-28 10:12:07
    Python中如何求列表list的平均数 当列表list中只包含数字时,如何求取它的平均数: from numpy import * a = [52,69,35,65,89,15,34] b = mean(a) print(b) 运行结果: 51.285714285714285 ...
  • vsftpd 配置:chroot_local_user与chroot_list_enable详解

    万次阅读 多人点赞 2015-01-05 09:24:38
    很多情况下,我们希望限制ftp用户只能在其主目录下(root dir)下活动,不允许他们跳出主目录之外浏览服务器上的其他目录,这时候我就需要使用到chroot_local_user,chroot_list_enable,chroot_list_file这三个选项了...
  • List排序

    万次阅读 2019-10-13 19:51:21
    List<bean>排序 前言: 对List中的所有bean进行排序 ,排序主要是利用JDK自带的 Collections.sort; 代码如下: 这是一个运用Demo: public class MyCompareSort { public static void peopleSort...
  • List转换成String字符串三种方式

    万次阅读 2019-08-15 11:58:34
    List转换成String字符串思路分析: 1.List转化成String[],再通过String[]数组遍历拼接成String字符串; 2.List转化成String存到StringBuffer中,再通过StringButter中的append()方法拼接成String字符串; 注意:...
  • 将Object转换成List

    万次阅读 2019-08-27 20:01:29
    java中如果需要将一个object转成list,大部分人会直接使用强制类型转换:(List<String>) obj这样。这样强制转换编译会提示Unchecked cast: 'java.lang.Object' to 'java.util.List<java.lang.String>',...
  • ListList的区别

    万次阅读 多人点赞 2020-12-19 10:02:17
    List、Set、Map中经常见到,用来限制Class中的参数类型,确保Class中参数的一致性。例如:List<String> list = new ArrayList<>();创建了一个内部参数是String类型的类,list中的操作对象都是String。...
  • python 从list中随机取值

    万次阅读 多人点赞 2018-12-11 17:17:49
    list1 = ['佛山', '南宁', '北海', '杭州', '南昌', '厦门', '温州'] a = random.choice(list1) print(a) # 返回一个值 第二种方法 适用于随机取一组值, 返回一个list import random list1 = ['佛山', '南宁', .....
  • Python判断两个list相等

    万次阅读 2018-06-04 10:45:14
    Python2可以使用cmp()函数,但是在Python3中我们可以使用下面的方法来比较两个list是否相等学习连接import operator a=[1,-1,0] b=[1,-1,0] c=[-1,1,0] print(operator.eq(a,b)) print(operator.eq(a,c))实验结果:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,174,566
精华内容 469,826
关键字:

list