精华内容
下载资源
问答
  • Map集合中value()与keySet()、entrySet()区别

    万次阅读 多人点赞 2019-07-31 18:36:36
    KeySet():将Map中所有的键存入到set集合中。因为set具备迭代器。所有可以迭代方式取出所有的键,再根据get方法。获取每一个键对应的值。 keySet():迭代后只能通过get()取keyentrySet()Set<Map.Entry<K,V...

    在Map集合中

    values():方法是获取集合中的所有的值----没有键,没有对应关系,

    KeySet():
    将Map中所有的键存入到set集合中。因为set具备迭代器。所有可以迭代方式取出所有的键,再根据get方法。获取每一个键对应的值。 keySet():迭代后只能通过get()取key 

    entrySet():

     

    Set<Map.Entry<K,V>> entrySet() //返回此映射中包含的映射关系的 Set 视图。 Map.Entry表示映射关系。entrySet():迭代后可以e.getKey(),e.getValue()取key和value。返回的是Entry接口 。

     

     

     

    下面通过例子看看:

    Map<String,String> map = new HashMap<String,String>();
    map.put("01", "zhangsan");
    map.put("02", "lisi");
    map.put("03", "wangwu");

    Collection<String> collection = map.values();//返回值是个值的Collection集合
    System.out.println(collection);
    打印结果:
    [zhangsan, lisi, wangwu]


    Set<K> keySet() //返回值是个只存放key值的Set集合(集合中无序存放的)

    Set<Map.Entry<K,V>> entrySet() //返回映射所包含的映射关系的Set集合(一个关系就是一个键-值对),就是把(key-value)作为一个整体一对一对地存放到Set集合当中的。



    一. keySet()方式。

    Map<String,String> map = new HashMap<String,String>();
                    
            map.put("01", "zhangsan");
            map.put("02", "lisi");
            map.put("03", "wangwu");
                    
                    
            Set<String> keySet = map.keySet();//先获取map集合的所有键的Set集合

            Iterator<String> it = keySet.iterator();//有了Set集合,就可以获取其迭代器。
                    
            while(it.hasNext()){
                    String key = it.next();
                    String value = map.get(key);//有了键可以通过map集合的get方法获取其对应的值。
                            
                    System.out.println("key: "+key+"-->value: "+value);//获得key和value值
                    }

    二. entrySet()方式:
    Map<String,String> map = new HashMap<String,String>();
                    
    map.put("01", "zhangsan");
    map.put("02", "lisi");
    map.put("03", "wangwu");

    //通过entrySet()方法将map集合中的映射关系取出(这个关系就是Map.Entry类型)
    Set<Map.Entry<String, String>> entrySet = map.entrySet();

    //将关系集合entrySet进行迭代,存放到迭代器中                
    Iterator<Map.Entry<String, String>> it2 = entrySet.iterator();
                    
    while(it2.hasNext()){
            Map.Entry<String, String> me = it2.next();//获取Map.Entry关系对象me
            String key2 = me.getKey();//通过关系对象获取key
            String value2 = me.getValue();//通过关系对象获取value
                            
            System.out.println("key: "+key2+"-->value: "+value2);
    }

    虽然使用keyset及entryset来进行遍历能取得相同的结果
    但两者的遍历速度是有差别的

    keySet():迭代后只能通过get()取key 
    entrySet():迭代后可以e.getKey(),e.getValue()取key和value。返回的是Entry接口 

    说明:keySet()的速度比entrySet()慢了很多,也就是keySet方式遍历Map的性能不如entrySet性能好
    为了提高性能,以后多考虑用entrySet()方式来进行遍历。

    展开全文
  • Java中get()方法和set()方法

    万次阅读 多人点赞 2018-07-31 01:27:17
    在java中,为了保证数据的安全性,我们会把数据定义为private等(私有、封装),如果想要调用就会用到set()方法与get方法或者构造函数方法。这里说的是第一种方法,set()与get(),既然说到这个,就得说一下封装的...

    在java中,为了保证数据的安全性,我们会把数据定义为private等(私有、封装),如果想要调用就会用到set()方法与get方法或者构造函数方法。这里说的是第一种方法,set()与get(),既然说到这个,就得说一下封装的概念。

    封装:private私有化成员属性,提供公开public的getter/setter

    Setter:赋值 Getter:取值,在哪儿用:在构造方法中初始化属性值的用!!!!!或者对象名.set/get()进行使用!!!

    好处:隐藏内部实现细节,保证代码的安全,同时也可以提升数据的安全性

    访问修饰符,从访问的范围由小及大依次是:private  default(当什么都不写默认就是这个)   protected   public

    访问修饰符的作用:可以修饰类、接口、属性和方法。通常可以通过访问修饰符来改变所修饰对象的可访问范围。

    基本用法:

    import java.util.Scanner;
    
    class Stutent1{
        private String name;
        private int age;
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
    
                this.age = age;
    
        }
        public void showStu1(){
            System.out.println("学生叫做"+name+",年龄"+age);
    
        }
    
    }
    
    
    public class Stutent1Test {
        public static void main(String[] args) {
            Scanner input=new Scanner(System.in);
            Stutent1 stutent1=new Stutent1();
            System.out.println("请输入姓名");
            stutent1.setName(input.next());
            System.out.println("请输入年龄");
            stutent1.setAge(input.nextInt());
            stutent1.showStu1();
        }
    }
    

    运行结果:

    展开全文
  • Set setResult = language.collect(Collectors.toSet()); setResult.forEach(System.out::println); 输出结果为: 三、用自定义的实现Collection的数据结构收集 List list = Arrays.asList("java", "python", ...

    将流中的数据转成集合类型:
    一、将数据收集进一个列表(Stream 转换为 List,允许重复值,有顺序)

    //1.将数据收集进一个列表(Stream 转换为 List,允许重复值,有顺序)
    //创建流
    Stream<String> language = Stream.of("java", "python", "C++","php","java");
    List<String> listResult = language.collect(Collectors.toList());
    result.forEach(System.out::println);
    
    //2.stream()代替流
    List<String> list = Arrays.asList("java", "python", "C++","php","java");
          List<String> listResult = list.stream().collect(Collectors.toList());
          listResult.forEach(System.out::println);
    

    输出结果为:
    在这里插入图片描述
    二、将数据收集进一个集合(Stream 转换为 Set,不允许重复值,没有顺序)

    //1.将数据收集进一个集合(Stream 转换为 Set,不允许重复值,没有顺序)
    Stream<String> language = Stream.of("java", "python", "C++","php","java");
    Set<String> setResult = language.collect(Collectors.toSet());
    setResult.forEach(System.out::println);
    

    输出结果为:
    在这里插入图片描述
    三、用自定义的实现Collection的数据结构收集

    	  List<String> list = Arrays.asList("java", "python", "C++","php","java");  
          //用LinkedList收集
          List<String> linkedListResult = list.stream().collect(Collectors.toCollection(LinkedList::new));
          linkedListResult.forEach(System.out::println);
          System.out.println("--------------");
          
          //用CopyOnWriteArrayList收集
          List<String> copyOnWriteArrayListResult = list.stream().collect(Collectors.toCollection(CopyOnWriteArrayList::new));
          copyOnWriteArrayListResult.forEach(System.out::println);
          System.out.println("--------------");
          
          //用TreeSet收集
          TreeSet<String> treeSetResult = list.stream().collect(Collectors.toCollection(TreeSet::new));
          treeSetResult.forEach(System.out::println);
    

    输出结果为:
    在这里插入图片描述
    四、对Stream的字符串拼接

    	    List<String> list = Arrays.asList("java", "python", "C++","php","java");
    	    //直接将输出结果拼接
            System.out.println(list.stream().collect(Collectors.joining()));
            //每个输出结果之间加拼接符号“|”
            System.out.println(list.stream().collect(Collectors.joining(" | ")));
            //输出结果开始头为Start--,结尾为--End,中间用拼接符号“||”
            System.out.println(list.stream().collect(Collectors.joining(" || ", "Start--", "--End")));
    

    输出结果为:
    在这里插入图片描述
    五、其他还有partitioningBy(),分类成一个key为True和Flase的Map。例如

    	    List<String> list = Arrays.asList("java", "python", "C++","php","java");
            Map<Boolean, List<String>> result = list.stream().collect(partitioningBy(s -> s.length() > 2));
    

    六、collectingAndThen(),收集之后继续做一些处理。例如

    	   List<String> list = Arrays.asList("java", "python", "C++","php","java");
           //收集后转换为不可变List
           ImmutableList<String> collect = list.stream().collect(Collectors.collectingAndThen(Collectors.toList(), ImmutableList::copyOf));
    

    总结:
    在这里插入图片描述

    展开全文
  • list(set())的作用

    千次阅读 2019-09-03 10:13:43
    list(set())的功能是:对原列表去重并按从小到大排序。 如下例所示: a = ['f','s',3,3,4,2,'d',4,5,6,1] a = list(set(a)) print(a) 经过list(set())之后的a列表变成了: [1, 2, 3, 4, 5, 6, 'd', 'f', 's'] ...

    list(set())的功能是:对原列表去重并按从小到大排序。
    如下例所示:

    a = ['f','s',3,3,4,2,'d',4,5,6,1]
    a = list(set(a))
    print(a)
    

    经过list(set())之后的a列表变成了:

    [1, 2, 3, 4, 5, 6, 'd', 'f', 's']
    
    展开全文
  • set(),get()方法的理解 为什么要用set(),get()方法 在我们实例化一个类对象的时候,要对这个类对象的属性进行赋值,并且输出这个类的属性。 举一个例子: 假如定义了一个Person类,要对Person类中的名字,年龄...
  • new Set()的基础用法(ES6)

    千次阅读 2020-08-03 21:16:48
    1、什么是Set() 似于数组,但它的一大特性就是所有元素都是唯一的,没有重复。 我们可以利用这一唯一特性进行数组的去重工作。 2、常用方法 2.1 添加元素(与对象添加元素一致 Object.key = value) let list=new Set...
  • get()和set()的基本用法

    万次阅读 多人点赞 2018-03-31 12:30:24
    使用前提:当要访问被private封装的属性时 之所以用private封装,又对外提供访问方式(set get),是因为可以在访问方式中加入逻辑判断等语句,对访问... public int getAge(){//获取private权限下的age//4. retur...
  • 1.__set()、__get() 应用 通过类中定义__set()、__get()魔术方法可以避免多个成员变量重复去定义get、set方法。 使用原理当外部设置 $UserAppIndex->username=‘华山论剑’; 时调用 __set() 。 当 $...
  • new Set(),用来去重数组。let arr = [1, 2, 2, 3];let set = new Set(arr);let newArr = Array.from(set);console.log(newArr); // [1, 2, 3]Set类似于数组,区别在于它所有的成员都是唯一的,不能有重复的值...
  • python学习之list(set())函数

    千次阅读 2020-04-10 11:25:52
    list(set())函数:对原列表去重并按从小到大排序 例如: a = ['f','s',3,3,4,2,'d',4,5,6,1] a = list(set(a)) print(a) [1, 2, 3, 4, 5, 6, 'd', 'f', 's'] 原理:set(a)将列表a转换为集合,集合是一个包含不重复...
  • isset()和empty()区别

    千次阅读 2018-08-18 09:04:41
    isset — 检测变量是否已设置并且非 NULL bool isset ( mixed $var [, mixed $... ] ) 检测变量是否设置,并且不是 NULL。 如果已经使用 unset() 释放了一个...如果一次传入多个参数,那么 isset() 只有在全部参数...
  • 说说vue.set() (this.$set) 的用法

    万次阅读 2018-11-02 16:59:01
    这段时间工作上经常操作数组数据,并且要求实时更新视图数据,这个时候首先想到的是 vue.set() 方法(注:当发现model上的数据发生改变,而页面上的视图数据没有改变,推荐使用该方法。),该方法的使用首先要在页面...
  • Python中的set()函数使用

    千次阅读 2019-02-27 22:24:37
    set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。 语法 set 语法: class set([iterable]) 参数说明: iterable – 可迭代对象对象; 返回值 返回新的集合对象。...
  • set() 去重原理

    千次阅读 2019-06-13 12:46:02
    众所周知,set() 是 Python 中的"天然去重因子"。对一串数据如:lyst = [1, 1, 2, 4, 4],我们常常 set 一下,也就是:set(lyst),达到去重目的。 那么,set() 是如何去重的呢? 自定义的数据结构 为了贴合实际的...
  • InMySQL, 有一些函数可以帮我们处理JSON类型包括:JSON_SET(),JSON_INSERT(), andJSON_REPLACE()函数. 语法 三种函数的语法: JSON_SET(json_doc, path, val[, path, val] ...) JSON_INSERT(json_doc, path, ...
  • Collections的emptyList() emptyMap() emptySet()

    千次阅读 2016-09-03 23:43:50
    Collections的emptyList() emptyMap() emptySet()在看Collections时看到这三个方法Collections.emptySet() Collections.emptyList() Collections.emptyMap() 会生成指定类型的空List Set Map,而且是不可变的,如...
  • python的set()函数

    万次阅读 2018-08-16 11:19:39
    set() 函数创建一个无序不重复元素的集合,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等,返回新的集合对象 a=['1','2','3','2','2','3']#定义一个list b=set(a) print(b) #set(['1', '3', '2']) ...
  • isset(), empty()和is_null()的区别 1)isset — 检测变量是否已设置且非 NULL则返回TRUE; 注意的是 null 字符("\0")并不等同于 PHP 的 NULL 常量。 如果已经使用 unset() 释放了一个变量之后,...
  • python:set()

    千次阅读 2018-03-30 14:10:32
    在Python set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种。创建集合set、集合set添加、集合删除、交集、并集、差集的操作都是非常实用的方法。 b= {'b','c'} print(b) a = ...
  • Python 使用set()去除列表重复

    万次阅读 2018-05-14 10:08:30
    1.对List重复项,可以使用set()去除重复 a = [5, 2, 5, 1, 4, 3, 4,1,0,2,3,8,9,9,9] print(list(set(a))) #将去掉重复的项后,再重新转成list 最后的执行结果 F:\Python\venv\Scripts\python.exe F:/Python/...
  • ArrayList中set()和add()中你不知道的坑

    千次阅读 2018-12-10 09:23:03
    一般使用List集合,估计都是使用这个ArrayList,一般呢也就是简单遍历数据和存储数据。...set()是更新,更新指定下标位置的值。 add()是添加,区别于一般的add(E e),这个就是有个位置的概念,特殊位...
  • vue中this.$set()原理

    千次阅读 2019-08-21 21:42:00
    参考文献: [1] 从vue源码看Vue.set()和this.$set()
  • python set()函数讲解

    万次阅读 2018-09-14 10:24:02
    set 是一个不允许内容重复的组合,而且set里的内容位置是随意的,所以不能用索引列出。可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。 1、创建set集合 ...set() #创建一个空set...
  • php 中__set()和__get()的具体用法

    千次阅读 2019-01-09 19:10:05
    __set() 方法用于设置私有属性值。 __get() 方法用于获取私有属性值。 __isset() 方法用于检测私有属性值是否被设定。 __unset() 方法用于删除私有属性。 __set()与__get()是两个魔术方法,用于设置和输出...
  • python set() 用法

    千次阅读 多人点赞 2018-03-22 11:49:01
    set() 函数是python内置函数的其中一个,属于比较基础的函数。创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。class set([iterable])参数说明:iterable -- 可迭代对象...
  • Android中set()和get()方法的想法

    千次阅读 2018-06-02 08:15:11
    以后会将自己学习路上的一些想法记录下来,希望有一日也能帮到和我一样迷茫过的人,不管怎么样希望自己不忘初心一直走下去set()和get()方法是开发中常用的方法,一般写在Bean里面今天在开发中发现一个问题就是我在...
  • Hive中的explode()函数和collect_set()函数

    万次阅读 2017-12-01 09:49:56
    最近在Hive中查询测试数据用到explode()函数比较多,所以今天整理一下,方便以后查阅。 1.substr()函数 substr()是字符串截取函数,其语法为: substr(string A, int start, int len),返回值为 string类型。说明...
  • python 中的set()函数

    千次阅读 2018-09-18 15:06:50
    在Python set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种。创建集合set、集合set添加、集合删除、交集、并集、差集的操作都是非常实用的方法。 b= {'b','c'} print(b) a = ...
  • Python 线程通信(wait(), set())

    千次阅读 2017-10-13 19:47:16
    import threading import time def goevent(): e=threading.Event()#事件 ... e.wait() #等待,后续代码不再执行,等待set再执行。让线程有序执行 print("go") threading.Thread(target=go).start()#

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 913,363
精华内容 365,345
关键字:

set()