精华内容
下载资源
问答
  • public enum JSON_TYPE{ /**JSONObject*/ JSON_TYPE_OBJECT, /**JSONArray*/ JSON_TYPE_ARRAY, /**不是JSON格式的字符串*/ JSON_TYPE_ERROR } /*** * *
    public enum JSON_TYPE{
            /**JSONObject*/
            JSON_TYPE_OBJECT,
            /**JSONArray*/
            JSON_TYPE_ARRAY,
            /**不是JSON格式的字符串*/
            JSON_TYPE_ERROR
        }
    
        /***
         *
         * 获取JSON类型
         *         判断规则
         *             判断第一个字母是否为{或[ 如果都不是则不是一个JSON格式的文本
         *
         * @param str
         * @return
         */
        public static JSON_TYPE getJSONType(String str){
            if(TextUtils.isEmpty(str)){
                return JSON_TYPE.JSON_TYPE_ERROR;
            }
    
            final char[] strChar = str.substring(0, 1).toCharArray();
            final char firstChar = strChar[0];
    
            LogUtils.d(JSONUtil.class, "getJSONType", " firstChar = "+firstChar);
    
            if(firstChar == '{'){
                return JSON_TYPE.JSON_TYPE_OBJECT;
            }else if(firstChar == '['){
                return JSON_TYPE.JSON_TYPE_ARRAY;
            }else{
                return JSON_TYPE.JSON_TYPE_ERROR;
            }
        }

    展开全文
  • java 数组和集合

    2019-08-02 12:23:22
    1、概念说明 区别:数组固定长度的,集合,数组的长度是可以... Map,键值对,提供key到value的映射。key无序、唯一;value无序,可重复 2、集合类结构图 3、集合特性比较 线程安全的效率都比较低,Vecto...

    1、概念说明

        区别:数组固定长度的,集合,数组的长度是可以变化的。

        List,继承Collection,可重复、有序的对象

        Set,继承Collection,不可重复、无序的对象

        Map,键值对,提供key到value的映射。key无序、唯一;value无序,可重复

    2、集合类结构图

    3、集合特性比较

        

    线程安全的效率都比较低,Vector,已被淘汰,可使用ArrayList替代。Hashtable,已被淘汰,可使用HashMap替代,如果是高并发的线程安全的实现,推荐使用ConcurrentHashMap。

    4、接口和方法

        Collection的常见方法:
        (1)添加
            boolean add(E o);                                              (6)修改:set(index,elementt)   (7)查询:get(index),indexof(obj)

        (2)删除
            boolean remove(Object o);
            boolean removeAll(Collection<? extends E> c)
            void clear();
        (3)判断  
            a.判断集合中是否有元素:boolean isEmpty();
            b.判断集合中是否包含某个元素:boolean contains(Object o);
            c.判断集合中是否包含某些元素:boolean contains(Collection<?> c);
        (4)获取
            a.获取集合中元素个数:int size();
            b.遍历集合中所有元素(迭代器):Iterator<E> iterator();
            c.判断两个集合中是否存在相同的元素并保留两个集合中相同的元素删除不同的元素:boolean retainAll(Collection<?> c);
       (5)其他
            将集合中元素转为数组:  Ojbect[] toArray();

       Map的接口方法:1、增加:put(key,value),putall(map)  2、删除:clear(),remove(key)3、判断:isEmpty(),containValue(),containsKey(),  4、查询:get(key),size(),entrySet(),keySet()

    5、集合遍历

         list遍历

    import java.util.*;
     
    public class Test{
     public static void main(String[] args) {
         List<String> list=new ArrayList<String>();
         list.add("Hello");
         list.add("World");
         list.add("HAHAHAHA");
         //第一种遍历方法使用foreach遍历List
         for (String str : list) {            //也可以改写for(int i=0;i<list.size();i++)这种形式
            System.out.println(str);
         }
     
         //第二种遍历,把链表变为数组相关的内容进行遍历
         String[] strArray=new String[list.size()];
         list.toArray(strArray);
         for(int i=0;i<strArray.length;i++) //这里也可以改写为  foreach(String str:strArray)这种形式
         {
            System.out.println(strArray[i]);
         }
         
        //第三种遍历 使用迭代器进行相关遍历
         
         Iterator<String> ite=list.iterator();
         while(ite.hasNext())//判断下一个元素之后有值
         {
             System.out.println(ite.next());
         }
     }
    }

       map遍历

    import java.util.*;
     
    public class Test{
         public static void main(String[] args) {
          Map<String, String> map = new HashMap<String, String>();
          map.put("1", "value1");
          map.put("2", "value2");
          map.put("3", "value3");
          
          //第一种:普遍使用,二次取值
          System.out.println("通过Map.keySet遍历key和value:");
          for (String key : map.keySet()) {
           System.out.println("key= "+ key + " and value= " + map.get(key));
          }
          
          //第二种
          System.out.println("通过Map.entrySet使用iterator遍历key和value:");
          Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
          while (it.hasNext()) {
           Map.Entry<String, String> entry = it.next();
           System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
          }
          
          //第三种:推荐,尤其是容量大时
          System.out.println("通过Map.entrySet遍历key和value");
          for (Map.Entry<String, String> entry : map.entrySet()) {
           System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
          }
        
          //第四种
          System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
          for (String v : map.values()) {
           System.out.println("value= " + v);
          }
         }
    }

     6、数组使用的几个例子

    数组和集合:

    1.数组第一种定义方式

    int[] counts = {1,2,3,4,5};

    2.数组第二种定义方式(先初始化,后赋值)

    int[] numbers = new int[3];
    numbers[0] = 1;
    numbers[1] = 2;
    numbers[2] = 3;
    numbers[0] = 1000;//在索引范围以内可以更改

    3.数组创建第三种方式

    int[] nums = new int[] {1,2,3};
    //修改
    nums[0] = 1000;

    转载于:https://www.cnblogs.com/tiandi/p/10641773.html

    展开全文
  • java数组之间区别

    2017-11-12 15:10:00
    (可以插入重复数据)非线程安全的 1、List(接口)------>ArratList无容量的限制, LinkedList双向链表,必须创建一个新的Entry对象,方便删除数据 不能重复插入数据 2、Map---键值对(key values)------...

    (可以插入重复数据)非线程安全的

    1、List(接口)------> ArratList无容量的限制,

                                                  LinkedList双向链表,必须创建一个新的Entry对象,方便删除数据

    不能重复插入数据

    2、Map---键值对(key  values)------->   HashMap顺序有可能发生变化,集合元素可以是null,但只能放入一个null

    3、HashTree  可以排序




    本文转自 chenming421  51CTO博客,原文链接:http://blog.51cto.com/exist/1980435
    展开全文
  • 闲来无事,做个JavaScript练习题,结果因为Java语言使用的时间久了,就像强迫使用Java的逻辑去写JavaScript代码。然而,JavaScript却没有HashMap,瞬间感觉Java不愧是高级语言。 为了成全自己的强迫症,简单实现个...
    闲来无事,做个JavaScript练习题,结果因为Java语言使用的时间久了,就像强迫使用Java的逻辑去写JavaScript代码。然而,JavaScript却没有HashMap,瞬间感觉Java不愧是高级语言。
    为了成全自己的强迫症,简单实现个Map用着嗨一下。
    

    废话就不多说了,贴出来我的代码,大家给指导指导。

    /**
         * 自定义键值对字典对象
         * @constructor
         */
        function Dictionary() {
            /**
             * 键值对的键列表,存储键元素
             * @type {Array}
             */
            var keys = new Array();
            /**
             * 键值对的值列表,存储值元素
             * @type {Array}
             */
            var values = new Array();
    
            /**
             * 为键值对添加一个元素
             * @param key 元素键(具有唯一性)
             * @param value 元素的值
             */
            this.put = function (key, value) {
                if (contains(key)) { // 已存在键为key的元素
                    var index = this.indexOfKey(key);
                    values[index] = value; // 为对应的值重新赋值
                } else { // 不存在键为key的元素,需要为键值对添加新的元素
                    keys.push(key); // 添加key到键列表的末尾
                    values.push(value); // 添加value到值列表的末尾
                }
            };
    
            /**
             * 获取key对应的value
             * @param key
             * @returns {*} 返回value值,查不到返回null
             */
            this.get = function (key) {
                if (contains(key)) { // 存在键为key的元素
                    var index = this.indexOfKey(key);
                    return values[index]; // 返回key对应的value
                } else {
                    return null;
                }
            };
    
            /**
             * 获取key数组
             * @returns {Array}
             */
            this.getKeyArray = function () {
                return keys;
            };
    
            /**
             * 获取vakue数组
             * @returns {Array}
             */
            this.getValueArray = function () {
                return values;
            };
    
            /**
             * 返回键值对的长度
             * @returns {Number}
             */
            this.size = function () {
                return keys.length;
            };
    
            /**
             * 检查是否包含某个key的元素
             * @param key
             * @returns {boolean} 包含返回true
             */
            this.contains = function (key) {
                return (keys.indexOf(key) > -1);
            };
    
            /**
             * 获取key列表对应元素的下表
             * @param key key
             * @returns {number} 下标位置,查不到返回-1
             */
            this.indexOfKey = function (key) {
                return keys.indexOf(key);
            };
    
        }

    以上,本人技术 有限,忘大神路过给指点一二。谢谢!

    展开全文
  • 我们知道在Java 中有几种集合类,比如 List,Set,还有 Map,List集合一般是存放的元素是有序可重复的,Set 存放的元素则是无序不可重复的,而 Map 集合存放的是键值对java的不固定参数 不固定参数一定要放到...
  • 提到java键值对对象,相信大家第一反应就是HashMap、LinkedMap这些数据结构,但是今天我想要介绍另一个是使用阿里巴巴提供的FastJSON中的JSONObject对象。 比如,我有一个需求,就是传入一个字符串数组,然后到...
  • 在前端遍历json键值对数组遍历的情况也会经常用到,我们知道在java、c#其它的语言里提供方便的方法来操作,那么在json里面有没有类似的方法呢,废话就不多说了上代码: var jsonStr={}; //增加 jsonStr["name...
  • java开发中,如何高效的判断json对象的键值对中的值是对象、数组还是基本数据类型?
  • 1. 常用方法 // map集合中直接装map putAll(Map map); // 清空 clear() 2. Map遍历的四种方式 ...* 最常见也是大多数情况下用的最多的,一般在键值对都需要使用 */ Map <String,String>
  • 【一、集合】 特征: ...无序,键值对。 重要实现类: List: ArrayList :用数组实现的。查询快,增删慢。 LinkedList:用链表实现的。增删快,查询慢。 Set: HashSet:无序。 TreeS
  • 我们需要通过key对象获得“键值对”对象,进而返回value对象。明白了存储数据过程,取数据就比较简单了,参见以下步骤: (1) 获得key的hashcode,通过hash()散列算法得到hash值,进而定位到数组...
  • java数组与集合

    2017-03-12 13:49:22
    集合(存放多个值)Set HasSet无序 不重复 List 有序,可重复 ... 键值对 HasMap无序,不重复(以key 为准)数组 初始化后不可改变<!-- Set集合 --> <!-- 外键,自动引用当前表格的主键 -->
  • 除了前面分析的SparseArray,其实还有其它的一些类似的数据结构,它们总结起来就是用于存放基本数据类型的键值对: SparseIntArray— int:int SparseBooleanArray— int:boolean SparseLongArray— int:long ...
  • //哈希表的基本结构就是 数组+链表 /* * 数组:占用空间连续,查找地址容易,查找速度快,但是增加,删除的效率很低 * 链表:占用空间不连续,寻找地址困难,查找速度慢,但是增加,删除的效率很高 * 哈希表结合了...
  • Map 也称为:映射表/关联数组,基本思想就是键值对的关联,可以用键来查找值。 Java标准的类库包含了Map的几种基本的实现,包括:HashMap,TreeMap,LinkedHashMap,WeakHashMap,ConcurrentHashMap,...
  • Map集合 Map集合的作用就是为了快速查找,他里面的集合我们就可以理解为哈希表,且哈希表存东西最好使用键和值。...键值对 Map存储时一般都需要两个东西,我们把哈希表里的每个东西叫做Entry对象,另外表外有一个En...
  • 一、json数据 1.设置请求方式和URL 传递json数据,一般使用POST请求方式 2.设置请求头 ...设置Headers中的参数 Content-Type的值为 application/json ...4.2数组 ...注意:如果为ajax传递,需要使用 ...5.java后台接...
  • 1.对象的存储:①数组(基本数据类型 &amp; 引用数据类型) ②集合(引用数据类型) &gt;数组存储数据的弊端:长度一旦初始化以后,就不可变;真正给数组元素赋值的个数没有现成的方法可用。2.集合框架...
  • 实体类转为Map 键值对

    万次阅读 2018-08-01 16:53:08
    java代码: public static Map&lt;String,Object&gt; object2Map(Object object){ Map&lt;String,Object&gt; result=new HashMap&lt;&gt;(); //获得类的的属性名 数组 ...
  • HashMap键值对存入解析

    千次阅读 2015-03-04 18:56:44
    Java编程语言中,最基本的结构就是两种,一种是数组,一种是模拟指针(引用),所有的数据结构都可以用这两个基本结构构造,HashMap也一样。 HashMap 采用一种所谓的“Hash 算法”来决定每个元素的存储位置。当程序...
  • js中自定义键值对形式的Map结构

    千次阅读 2015-04-07 09:57:47
    js中模仿java中的Map结构,用以存储键值对 /** * 为Array对象添加remove方法,删除制定值得元素 * @param {String} 数组元素值 */ Array.prototype.remove = function(s) { for (var i = 0; i ; i++) { if (s...
  • java中map数组转list

    千次阅读 2018-07-18 14:03:25
    map中的value转为list Collection&lt;Object&gt; values = map.values(); List&lt;Object&gt; list = new ArrayList&lt;&gt;(values);...map中的键值对转为set Set&lt;E...
  • Hashtable与Dictionary虽然都是作为键值对的载体,但是采用的是不同的数据结构。就像Java中的ArrayList与LinkList,虽然都是实现了List接口作为集合载体,但是其内部结构是不一样的,ArrayList是通过数组实现的,...
  • Hashtable与Dictionary虽然都是作为键值对的载体,但是采用的是不同的数据结构。就像Java中的ArrayList与LinkList,虽然都是实现了List接口作为集合载体,但是其内部结构是不一样的,ArrayList是通过数组实现的,...
  • 最近在面试的时候有个面试...后来仔细回想java基础,HashMap有一个“键值对”!能否利用“键值对”来搞。但是我当场没能回答出来,面试官也没说什么,但我知道这次面试失败了(其他问题都没能回答出来)。晚上我在家里
  • 简介Map的数据保存是以键值对的形式进行数据的保存,这种键值对的关联形式又叫映射表,或者说关联数组,那么如何用一个简单的数组来实现Map的基本形式.代码/** * @description 关系数组,又称为映射表 * 这是Map实现的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,637
精华内容 654
关键字:

java数组键值对

java 订阅