数组转化成map和set的简单实现

将数组转化为Set(不使用Set类)。

思路:1.将数组排序

     2.遍历数组,将临近的元素进行比较,如果不相等就加入容器。 (当然这里返回的是一个有序无重的容器没有实现无序)

    /**
     * 将数组去重(不使用Set的情况下)
     * @param array  被操作数组
     * @return 目标Set
     */
    public static List<Integer> intToSet(int[] array){
        List<Integer> list = new ArrayList<Integer>();
        Arrays.sort(array);
        list.add(array[0]);
        for(int i = 0;i<array.length-1;i++){
            if(array[i]!=array[i+1]){
                list.add(array[i+1]);
            }
        }

        return list;
    }

将数组转化为Map(key为元素,value为次数)。

因为上面实现了set,我们这里就直接用Set容器。

思路:

1.将数组装入Set,去重。

2.遍历Set,将里面的元素取出计算出出现的次数。

    /**
     * 数组 转成 map形式
     * @param array 被操作数组
     * @return 目标Map
     */
    public static Map<Integer,Integer> intToMap(int[] array){
        Set<Integer> set = new HashSet<Integer>();
        Map<Integer,Integer> map = new HashMap<Integer,Integer>();
        for(int i = 0;i<array.length;i++){
            set.add(array[i]);
        }
        Iterator<Integer> it = set.iterator();
        while(it.hasNext()){
            int next = it.next();
            int index = 0;
            for(int n : array){
                if(n==next) index++;
            }
            map.put(next, index);
            System.out.print(next);
            System.out.println("======"+index);
        }

        return map;
    }
时间: 2024-10-10 00:36:13

数组转化成map和set的简单实现的相关文章

JS Map 和 List 的简单实现代码

javascript中是没有map和list 结构的. 本篇文章是对在JS中Map和List的简单实现代码进行了详细的分析介绍,需要的朋友参考下 代码如下: /* * MAP对象,实现MAP功能 * * 接口: * size()     获取MAP元素个数 * isEmpty()    判断MAP是否为空 * clear()     删除MAP所有元素 * put(key, value)   向MAP中增加元素(key, value)  * remove(key)    删除指定KEY的元素,成

Java读取json数组转化成List或Object数组

在之前的开发中经常遇到将List或Array转换成json传递到web前端, 供前端显示,但是今天我遇到了一个需要将json数组传递到后台,并在后 台转换成list的问题.为此我花费了一段较长的时间,为此我写下这篇博客. 首先是在前端用js构造json数组,html代码如下: <TABLE style="width: 900px" id="table"> <pre name="code" class="html&quo

JSON 数组转化 OC的数组转化成OC格式的字符串

1.将OC的数组转化成OC格式的字符串    NSArray * arr = @[@"aa",@"bb",@"cc"];2.转化    NSString * jsonStr = [arr JSONString];    NSLog(@"%@",jsonStr);

fastjson将json字符串转化成map的五种方法

fastjson将json字符串转化成map的五种方法 复制代码 1 package com.zkn.newlearn.json; 2 3 import com.alibaba.fastjson.JSON; 4 import com.alibaba.fastjson.JSONObject; 5 import java.util.Map; 6 7 /** 8 * JSON字符串自动转换 9 * 10 */ 11 public class JsonToMapTest01 { 12 13 public

scala 学习笔记(02) 元组Tuple、数组Array、Map、文件读写、网页抓取示例

package yjmyzz import java.io.PrintWriter import java.util.Date import scala.io.Source object ScalaApp02 { def main(args: Array[String]) { tupleDemo println mapDemo println arrayDemo println fileWriteAndRead println(getUrlContent("http://www.cnblogs.

Java8 将String[]数组、Integer[]等包装类数组转化成int[]等基本类型数组

把一个包装类型数组String[].Integer[]等转化成int[]等基本类型数组,是在太不想用for循环就用Java8的stream吧 public class ToStreamIntString{ public static void main(String[] args) { Scanner in = new Scanner(System.in); List<String> list = new ArrayList<>(); for (int i = 0; i <

json、js数组真心不是想得那么简单

之前由于做前台的东西比较少,对于json和js数组的认识仅局限于一种固定格式.这种固定的思维在开发前台时,特别是最近使用highcharts插件时,让我感到特别不明白,通过查询终于心头的疙瘩解开了. 好了,废话少说,进入正题. 1.json ------ 什么是json? 首先让我看看w3c是怎么定义的. JSON:JavaScript 对象表示法(JavaScript Object Notation).JSON 是存储和交换文本信息的语法.类似 XML.JSON 比 XML 更小.更快,更易解

数组reduce和map方法

1.有一个长度为100的数组,请以优雅的方式求出该数组的前10个元素之和 var a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],sum = 0; sum = a.slice(0, 10).reduce(function(pre, current) { return pre + current;}); console.log(sum); //55 2.不使用loop循环,创建一个长度为100的数组,并且每个元素的值等于它的下标. v

处理数组的forEach map filter的兼容性

处理数组的forEach 1 //forEach处理 2 if(!Array.prototype.forEach) { 3 Array.prototype.forEach = function (callback) { 4 for(var i=0,len=this.length;i<len;i++) { 5 callback(this[i], i); 6 } 7 } 8 } 处理数组的map 1 //处理map 2 if(!Array.prototype.map) { 3 Array.proto