js,kotlin,dart,java中 list,map,set,数组区别

本文对比了JavaScript, Kotlin, Dart和Java中的数据结构,包括Map的创建和使用,Set的实现,以及数组和List的区别。在JavaScript中,Map可以通过`let map = new Map()`创建,Set用`let namesSet = new Set()`初始化。在Dart中,Map和Set的定义方式有所不同,如`var gifts = {'1': 'one'}`。而在Java和Kotlin中,Map和Set的创建涉及到`HashMap`和`HashSet`,数组和List的使用也各有特点。" 93299068,8338192,Layui实现多级表头渲染,"['前端开发', 'HTML', 'CSS', 'JavaScript', 'Layui']

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

list,map,set,数组,对比

map

前端
  • let map = new Map([
    [1, ‘one’],
    [2, ‘two’],
    [3, ‘three’],
    ]);

let arr = […map.keys()]; // [1, 2, 3]

遍历:
map.forEach(function(value,key){console.log(value,key);});
for(let item of map){  }
for(let item of map.keys()){
for(let item of map.values()){
for(let item of map.entries()){   }
dart
  • var gifts = {
    // Key: Value
    ‘1’: ‘one’,
    ‘2’: ‘two’,
    ‘3’: ‘three’
    };
  • var gifts = Map();
    gifts[‘1’] = ‘one’;
    gifts[‘2’] = ‘two’;
    gifts[‘3’] = ‘three’;
java
  • Map<String, String> map = new HashMap<String,String>();
    //给map中添加元素
    map.put(“1”, “one”);
    map.put(“2”, “two”);

     遍历:
     for(Map.Entry<String, String> entry : map.entrySet()){
     String mapKey = entry.getKey();
     String mapValue = entry.getValue();
     System.out.println(mapKey+":"+mapValue);
     }
     
      for(String value : map.values()){
     System.out.println(value);
     }
     
     Iterator<Entry<String, String>> entries = map.entrySet().iterator();
     while(entries.hasNext()){
     Entry<String, String> entry = entries.next();
     String key = entry.getKey();
     String value = entry.getValue();
     System.out.println(key+":"+value);
     }
     
      for(String key : map.keySet()){
     String value = map.get(key);
     System.out.println(key+":"+value);
     }
    
kotlin
  • val map = mapOf(1 to “one”, 2 to “two”, 3 to “three”)

      遍历:
      map.forEach {
      	log.d("遍历数组第一种方式->${it.key}   值:${it.value}")}
      	
      for (index in map){  ... $map.key,...$map.vale}
      
      val it = map.iterator()
          while (it.hasNext()) {
              val item = it.next()
              desc = desc + item.key + "=====" + item.value
          }
          
      for((key,value) in map ){ ... $key....$value}
    

set

js
  • let namesSet = new Set([‘a’, ‘b’])
    Array.from(namesSet) // [‘a’, ‘b’]
dart
  • var halogens = {‘fluorine’, ‘chlorine’, ‘bromine’, ‘iodine’, ‘astatine’};
java
遍历:
Set<String> set = new HashSet<String>();  
Iterator<String> it = set.iterator();  
while (it.hasNext()) {  
  String str = it.next();  
  System.out.println(str);  
}

for (String str : set) {  
      System.out.println(str);  
}

数组

kotlin
  • val arr= arrayOf(1,2,3)

      for (index in arr){ ...$index}
    
js
  • var arr=new Array(“one”,“two”,“three”)
dart
  • 在Dart中,数组是List对象
java
  • int[] arr1=new int[10];
  • int[] arr2={1,2,3,6};
  • int[] arr3=new int[]{1,2,3,4,5,6,7,22};

list

dart
  • var list = [1, 2, 3];
  • var constantList = const [1, 2, 3];
java
  • List list=new ArrayList<>();
    list.add(“a”);
    list.add(“b”);

     遍历:
     for(String a : list) {
     	  System.out.println(a);
     	}
     	
     for(int i=0;i<list.size();i++){
     	      System.out.println(list.get(i));
     while(it.hasNext()){
     System.out.println(it.next());
     }
     
     Iterator it=list.iterator();
     	for(it;it.hasNext();){
     	System.out.println(it.next());
     	}
     	
     list.stream().froEach(st->{
     		System.out.println(st);
     	}
    
js
  • var list1 = [1,2,3,4,5];

       遍历:
       for(var index in list1){
          console.info(index+":"+list1[index]);}
          
       list1.forEach(function (element, index, array) {
          console.info(element); //当前元素的值
          console.info(index);   //当前下标
          console.info(array);  //数组本身 
      });
    
kotlin
  • 不可包含空值

    • listOf

      • A.forEach { it -> …$it.value}
      • for ((a,b) in A ){…$a,b}
  • 可包含空值

    • listOfNotNull

在这里插入图片描述

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值