易语言toJava 集合类

易语言toJava 集合类

.版本 2


.程序集 集合Map类, , 公开, 不允许键存在
.程序集变量 mContentValueMap, Map, , "0"
.程序集变量 mSplit, 文本型, , , & 分割符
.程序集变量 mKeyWithValueConnSign, 文本型, , , a=b  的=号


.子程序 _初始化, , , 当基于本类的对象被创建后,此方法会被自动调用


mKeyWithValueConnSign = “=”
mSplit = “&”


.子程序 _销毁, , , 当基于本类的对象被销毁前,此方法会被自动调用


' '调试输出 (“map集合类被销毁了”)


.子程序 putUnique, 逻辑型
.参数 key, 文本型
.参数 value, 文本型


.如果真 (containsKey (key) 且 containsValue (value))
    返回 (假)
.如果真结束
put (key, value)
返回 (真)


.子程序 put, 逻辑型, 公开, 如果存在则修改值并返回false,不存在则 放入。返回真
.参数 key, 文本型
.参数 value, 文本型
.局部变量 tempContentValueMap, Map
.局部变量 keyvalue, 键值对
.局部变量 n, 整数型


n = getKeyIndex (key)
.如果真 (n ≠ -1)


    ' 调试输出 (“包含键” + key + “直接修改,” + key + “的原来value” + mContentValueMap [n].键值对.value + “为” + value)
    mContentValueMap [n].键值对.value = value
    返回 (假)
.如果真结束
' '调试输出 (“添加集合Map[” + key + “:” + value + “]”)
keyvalue.key = key
keyvalue.value = value
tempContentValueMap.键值对 = keyvalue
加入成员 (mContentValueMap, tempContentValueMap)
返回 (真)


.子程序 get, 文本型, 公开, 通过键名 取值
.参数 key, 文本型
.局部变量 keyIndex, 整数型


keyIndex = getKeyIndex (key)
.如果真 (keyIndex = -1)
    返回 (#NULL_BWN)
.如果真结束


返回 (mContentValueMap [keyIndex].键值对.value)






.子程序 containsValue, 逻辑型, 公开, 是否包含某值
.参数 key, 文本型, , 键名


返回 (get (key) ≠ #NULL_BWN)


.子程序 containsKey, 逻辑型, 公开, 是否包含某键
.参数 key, 文本型, , 键名


返回 (getKeyIndex (key) ≠ -1)  ' 不等于-1就是真




.子程序 remove, 逻辑型, 公开, 通过name删除指定成员
.参数 key, 文本型
.局部变量 keyIndex, 整数型


keyIndex = getKeyIndex (key)
.如果真 (keyIndex = -1)
    返回 (假)
.如果真结束


返回 (删除成员 (mContentValueMap, keyIndex, 1) > 0)
' 如果删除的 成员数量小于0则应该也是删除失败


.子程序 clear, , 公开, 清除所有


清除数组 (mContentValueMap)


.子程序 getKeyIndex, 整数型, 公开, 获取键索引 找不到返回-1
.参数 key, 文本型
.局部变量 n, 整数型


.计次循环首 (取数组成员数 (mContentValueMap), n)
    ' '调试输出 (“比较” + key + “是否和” + mContentValueMap [n].键值对.key + “相等”)
    .如果真 (mContentValueMap [n].键值对.key = key)
        ' '调试输出 (“比较相等返回index:” + 到文本 (n))
        返回 (n)


    .如果真结束
    ' mContentValueMap [n].键值对.key, “value:” + mContentValueMap [n].键值对.value)
.计次循环尾 ()
返回 (-1)




.子程序 size, 整数型, 公开, 获取集合的尺寸


返回 (取数组成员数 (mContentValueMap))


.子程序 getKeyValueArr, , 公开, 传递我2个数组,我将把它返回回去。
.参数 arr_key, 文本型, 数组, 传递一个键数组,我将把所有键将保存到这里
.参数 arr_value, 文本型, 数组, 传递我一个值数组 我将把所有值保存到这里
.局部变量 i, 整数型


.计次循环首 (size (), i)
    加入成员 (arr_key, mContentValueMap [i].键值对.key)
    加入成员 (arr_value, mContentValueMap [i].键值对.value)
.计次循环尾 ()


.子程序 getKeys, , 公开, 获取所有键名
.参数 keys, 文本型, 数组, 保存到的数组
.局部变量 i, 整数型


.计次循环首 (size (), i)
    加入成员 (keys, mContentValueMap [i].键值对.key)
.计次循环尾 ()




.子程序 getValues, , 公开, 获取所有键值
.参数 values, 文本型, 数组, 保存到的数组
.局部变量 i, 整数型




.计次循环首 (size (), i)
    加入成员 (values, mContentValueMap [i].键值对.value)
.计次循环尾 ()


.子程序 getValue, 文本型, 公开, 通过下标获取值 找不到返回NULL
.参数 index, 整数型


.如果真 (index < 1 或 index > size ())  ' 如果 是 1,实际上是0 页是不成立的
    返回 (#NULL_BWN)
.如果真结束
返回 (mContentValueMap [index].键值对.value)


.子程序 getKey, 文本型, 公开, 通过下标获取键 找不到返回NULL
.参数 index, 整数型


.如果真 (index < 1 或 index > size ())  ' 如果 是 1,实际上是0 页是不成立的
    返回 (#NULL_BWN)
.如果真结束
返回 (mContentValueMap [index].键值对.key)


.子程序 getNewInstance, 集合Map类, 公开, 可以调用本方法无限创建实例 对象,这样可以调用集合类的put()达到修改。
.局部变量 集合map, 集合Map类


返回 (集合map)  ' 貌似无法返回新实例






.子程序 toString, 文本型, 公开, 如果放了a=1 b=2 则toString print default value is a=1&b=2 可以用本集合类做post,get参数提交
.局部变量 str, 文本型
.局部变量 i, 整数型


str = “”
.计次循环首 (size (), i)
    .判断开始 (i = 1)
        str = mContentValueMap [i].键值对.key + mKeyWithValueConnSign + mContentValueMap [i].键值对.value
    .默认
        str = str + mSplit + mContentValueMap [i].键值对.key + mKeyWithValueConnSign + mContentValueMap [i].键值对.value
    .判断结束


.计次循环尾 ()
返回 (str)


.子程序 setToStringSplit, , , 设置toString分隔符,  &a=a 的&号
.参数 spint, 文本型


mSplit = spint


.子程序 setToStringKeyWithSign, , , 设置toString分隔符,  a=a 的=号
.参数 sign, 文本型


mKeyWithValueConnSign = sign

集合list类:

.版本 2

.程序集 集合List类, , 公开
.程序集变量 mList, List, , "0"
.程序集变量 mSpit, 文本型

.子程序 _初始化, , , 当基于本类的对象被创建后,此方法会被自动调用

mSpit = “-”

.子程序 _销毁, , , 当基于本类的对象被销毁前,此方法会被自动调用

' 调试输出 (“集合list类被销毁了”)


.子程序 setList, , 公开, 直接设置 list类型
.参数 list, List

加入成员 (mList, list)

.子程序 put, , 公开, 如果存在则修改,不存在则 放入。 
.参数 value, 文本型
.局部变量 list, List

list.值 = value
加入成员 (mList, list)

.子程序 get, 文本型, 公开, 通过下标取值找不到返回NULL
.参数 index, 整数型

.如果真 (index > 0 且 index ≤ size ())
    返回 (mList [index].值)
.如果真结束
返回 (#NULL_BWN)

.子程序 containsValue, 逻辑型, 公开, 是否包含某值
.参数 key, 文本型, , 值

返回 (getValueIndex (key) ≠ -1)

.子程序 remove, 逻辑型, 公开, 通过name删除指定成员
.参数 key, 文本型
.局部变量 keyIndex, 整数型

keyIndex = getValueIndex (key)
.如果真 (keyIndex = -1)
    返回 (假)
.如果真结束

返回 (删除成员 (mList, keyIndex, 1) > 0)
' 如果删除的 成员数量小于0则应该也是删除失败

.子程序 clear, , 公开, 清除所有

清除数组 (mList)

.子程序 getValueIndex, 整数型, 公开, 获取值索引 找不到返回-1
.参数 value, 文本型
.局部变量 n, 整数型

.计次循环首 (取数组成员数 (mList), n)
    .如果真 (mList [n].值 = value)
        返回 (n)

    .如果真结束
    ' mList [n].键值对.key, “value:” + mList [n].键值对.value)
.计次循环尾 ()
返回 (-1)


.子程序 size, 整数型, 公开

返回 (取数组成员数 (mList))

.子程序 sort, , 公开, 排序从z到a排序或从a-z排序
.参数 排序方向是否为从a到z, 逻辑型, 可空, 如果参数值为真,排序将从z到a排序。如果本参数被省略,将从a-z排序
.局部变量 排序后的数组, 文本型, , "0"
.局部变量 temp_list, 集合List类
.局部变量 index, 整数型
.局部变量 局_数目, 整数型
.局部变量 index1, 整数型

局_数目 = 取数组成员数 (mList)
.如果 (排序方向是否为从a到z)
    .变量循环首 (90, 65, -1, index1)
        .计次循环首 (局_数目, index)
            .如果真 (取代码 (到大写 (取文本左边 (mList [index].值, 1)), ) = index1)
                temp_list.put (mList [index].值)
                加入成员 (排序后的数组, mList [index].值)
                到循环尾 ()
            .如果真结束
            .如果真 (取声母 (取文本左边 (mList [index].值, 2), 1) ≠ “” 且 取代码 (到大写 (取声母 (取文本左边 (mList [index].值, 2), 1)), ) = index1)
                temp_list.put (mList [index].值)
                加入成员 (排序后的数组, mList [index].值)
            .如果真结束

        .计次循环尾 ()
    .变量循环尾 ()

.否则
    .变量循环首 (65, 90, 1, index1)
        .计次循环首 (局_数目, index)
            .如果真 (取代码 (到大写 (取文本左边 (mList [index].值, 1)), ) = index1)
                temp_list.put (mList [index].值)
                加入成员 (排序后的数组, mList [index].值)
                到循环尾 ()
            .如果真结束
            .如果真 (取声母 (取文本左边 (mList [index].值, 2), 1) ≠ “” 且 取代码 (到大写 (取声母 (取文本左边 (mList [index].值, 2), 1)), ) = index1)
                temp_list.put (mList [index].值)
                加入成员 (排序后的数组, mList [index].值)
            .如果真结束

        .计次循环尾 ()
    .变量循环尾 ()
.如果结束

' setList (temp_list)


.子程序 setToStringSpit, , 公开, toString 分隔符
.参数 split, 文本型

mSpit = split

.子程序 toString, 文本型, 公开
.局部变量 str, 文本型
.局部变量 n, 整数型

.计次循环首 (取数组成员数 (mList), n)

    .判断开始 (n = 1)
        str = mList [n].值
    .默认
        str = str + mSpit + mList [n].值
    .判断结束

.计次循环尾 ()
返回 (str)

集合类:

.版本 2
.支持库 dp1

.程序集 集合类, , 公开, 允许放相同的集合类
.程序集变量 mCollection, 集合Map类, , "0"
.程序集变量 mNullMap, 集合Map类

.子程序 _初始化, , , 当基于本类的对象被创建后,此方法会被自动调用

mNullMap.put (到文本 (“NULL_MAP”), 取数据摘要 (到字节集 (“51bwn.com”)))  ' 设置空null的标识符


.子程序 _销毁, , , 当基于本类的对象被销毁前,此方法会被自动调用



.子程序 put, , 公开, 放入后用本对象.get.put()方法修改map是有效的。,
.参数 coll, 集合Map类, 参考

' 这里要勾选为参考,否则 在返回的时候返回的是原来的,无法进行修改。
加入成员 (mCollection, coll)



.子程序 putNotModify, , 公开, 同一个对象可以重复放入,但是放入用本对象.get.put()方法修改map是无效的。
.参数 coll, 集合Map类

' 这里要勾选为参考,否则 在返回的时候返回的是原来的,无法进行修改。
加入成员 (mCollection, coll)


.子程序 getByKey, 集合Map类, 公开
.参数 key, 文本型
.局部变量 index, 整数型

index = getKeyIndex (key)
.如果真 (index ≠ -1)
    返回 (get (index))
.如果真结束
返回 (mNullMap)

.子程序 get, 集合Map类, 公开, 通过下标取值找不到返回NULL
.参数 index, 整数型

.如果真 (index > 0 且 index ≤ size ())
    ' '调试输出 (“找到集合map,返回集合对象,index:” + 到文本 (index))
    返回 (mCollection [index])  ' 貌似这样返回的是一个新的。
.如果真结束
返回 (mNullMap)


.子程序 containsKey, 逻辑型, 公开, 是否包含某键
.参数 key, 文本型, , 值

返回 (getKeyIndex (key) ≠ -1)

.子程序 removeContainKey, 逻辑型, 公开, 删除包含某键的
.参数 key, 文本型
.局部变量 flag, 逻辑型
.局部变量 n, 整数型


flag = 假
n = size ()
.计次循环首 (n, )
    .如果真 (n = 0)
        跳出循环 ()
    .如果真结束

    .如果真 (mCollection [n].containsKey (key))
        删除成员 (mCollection, n, 1)
        flag = 真
    .如果真结束
    ' mList [n].键值对.key, “value:” + mList [n].键值对.value)
    n = n - 1
.计次循环尾 ()
返回 (flag)


' keyIndex = getKeyIndex (key)
.' 如果真 (keyIndex = -1)
    ' 返回 (假)
.如果真结束
' 返回 (删除成员 (mCollection, keyIndex, 1) > 0)
' ' 如果删除的 成员数量小于0则应该也是删除失败




.子程序 removeContainValue, 逻辑型, 公开
.参数 value, 文本型
.局部变量 flag, 逻辑型
.局部变量 n, 整数型

flag = 假
n = size ()
.计次循环首 (n, )
    .如果真 (n = 0)
        跳出循环 ()
    .如果真结束
    .如果真 (mCollection [n].containsValue (value))
        删除成员 (mCollection, n, 1)
        flag = 真
    .如果真结束
    ' mList [n].键值对.key, “value:” + mList [n].键值对.value)
    n = n - 1
.计次循环尾 ()
返回 (flag)


.子程序 clear, , 公开, 清除所有

清除数组 (mCollection)

.子程序 getMapIndex, 整数型, 公开, 给我键值对,如果集合里面的键和值相对则返回位置,否则返回-1
.参数 key, 文本型
.参数 value, 文本型
.局部变量 n, 整数型
.局部变量 z, 整数型, , , 集合map里面的索引

.计次循环首 (取数组成员数 (mCollection), n)
    .计次循环首 (mCollection [n].size (), z)
        .如果真 (mCollection [n].getKey (z) = key 且 mCollection [n].getValue (z) = value)
            返回 (n)
        .如果真结束

    .计次循环尾 ()

    ' mList [n].键值对.key, “value:” + mList [n].键值对.value)
.计次循环尾 ()
返回 (-1)


.子程序 getKeyIndex, 整数型, 公开, 返回里面的map索引
.参数 key, 文本型
.局部变量 n, 整数型
.局部变量 z, 整数型

.计次循环首 (取数组成员数 (mCollection), n)
    .计次循环首 (mCollection [n].size (), z)
        .如果真 (mCollection [n].getKey (z) = key)
            返回 (n)
        .如果真结束

    .计次循环尾 ()
    ' mList [n].键值对.key, “value:” + mList [n].键值对.value)
.计次循环尾 ()
返回 (-1)


.子程序 size, 整数型, 公开

返回 (取数组成员数 (mCollection))

.子程序 isEmpty, 逻辑型, 公开, 判断返回的集合map是否为空
.参数 Map, 集合Map类

.如果真 (Map.get (“NULL_MAP”) = mNullMap.get (“NULL_MAP”))
    返回 (真)
.如果真结束
返回 (假)

自定义数据类型:

.版本 2

.数据类型 键值对
    .成员 key, 文本型
    .成员 value, 文本型

.数据类型 Map
    .成员 键值对, 键值对

.数据类型 List
    .成员 值, 文本型

.数据类型 Collection
    .成员 值, 集合Map类, 传址, , 里面存放的是map集合

用法:启动子程序 程序集

.版本 2
.支持库 spec

.程序集 程序集1
.程序集变量 集合Map, 集合Map类
.程序集变量 集合List, 集合List类
.程序集变量 集合, 集合类
.程序集变量 keys, 文本型, , "0"
.程序集变量 values, 文本型, , "0"

.子程序 _启动子程序, 整数型, 公开, 请在本子程序中放置动态链接库初始化代码
.局部变量 a, 整数型

集合Map.put (“name”, “罗正”)
集合Map.put (“name2”, “罗发正”)
集合Map.put (“name1”, “罗正”)
集合Map.put (“name3”, “罗正”)
集合Map.put (“name5”, “罗正”)
集合Map.put (“age”, “15”)
调试输出 (“集合实际总数:” + 到文本 (集合Map.size ()) + “toString:” + 集合Map.toString ())
集合Map.getKeyValueArr (keys, values)
.计次循环首 (集合Map.size (), a)
    调试输出 (“键名:” + 到文本 (keys [a]) + “,键值:” + 到文本 (values [a]))
.计次循环尾 ()
集合List.put (“你好世界”)
集合List.put (“你好世3界”)
调试输出 (“list是否包含某值:”, 集合List.containsValue (“你f好世界”))
调试输出 (“list.get(1):” + 集合List.get (1))
调试输出 (“list.get(5):” + 集合List.get (5))


集合.put (集合Map)
集合Map.put (“age”, “20”)  ' 这里事实上可以修改成功
集合.put (集合Map)
调试输出 (“Collection的总数:” + 到文本 (集合.size ()))
.计次循环首 (集合.size (), a)

    集合.get (a).put (“age”, “24”)  ' 事实正面修改无效
    调试输出 (“修改后map2的age::” + 集合.get (a).get (“age”))
.计次循环尾 ()

调试输出 (“map2:” + 集合.get (1).get (“age”))
调试输出 (“map2:” + 集合.get (2).get (“age”))
_临时子程序 ()  ' 在初始化代码执行完毕后调用测试代码
返回 (0)  ' 返回值被忽略。

.子程序 _临时子程序

' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。

访问网络请求用法:

.版本 2
.支持库 spec

.子程序 _btn_login_被单击
.局部变量 post, 文本型
.局部变量 postMap, 集合Map类
.局部变量 cookieMap, 集合Map类
.局部变量 backCookie, 文本型
.局部变量 wb, 文本型

postMap.put (“default_persistent”, “0”)
postMap.put (“email”, “” + 编辑框_account.内容)
postMap.put (“lgndim”, “eyJ3IjoxNTM2LCJoIjo4NjQsImF3IjoxNTM2LCJhaCI6ODI0LCJjIjoyNH0=”)
postMap.put (“lgnjs”, “1458965842”)
postMap.put (“lgnrnd”, “211720_ncyf”)
postMap.put (“locale”, “zh_CN”)
postMap.put (“lsd”, “AVqEmFZy”)
postMap.put (“pass”, 编辑框_pwd.内容)
postMap.put (“qsstamp”, “W1tbNiwxOSwzMCwzMSw2Miw0=”)
postMap.put (“timezone”, “-480”)

cookieMap.put (“fr”, “0UmxEL9H9AeApiI8S.AWVKfCXuyd1s8b3Tfs”)
cookieMap.put (“lu”, “0UmxEL9H9AeApiI8S.AWVKfCXuyd1s8bldfs”)
cookieMap.put (“datr”, “0UmxEL9H9AeApiI8S.AWVKfCXuyd1s8s”)
cookieMap.put (“locale”, “0UmxEL9H9AeApiI8S.AWVKfCXuyd1s8bld2ChkuJoXjUE.BW9f_o.8L.Fb2.0.AWUZ3Tfs”)
cookieMap.put (“_js_reg_fb_ref”, “https%3A%2F%2Fwww.facebook.com%2F%3Fstype%3Dlo%26jlou%3DAfc5ppiGsP_a621wAtsWk8PUCeFNvGPLtY9mTEqbRN7CiPY4inW_Rvpn2pGlWOCo8ZfikERErPtA2PupiGzD0RjLG1Dd8rOOlPHygREVqkm59Q%26smuh%3D34978%26lh%3DAc_e2O6CY7uW1pyB; path=/”)
cookieMap.put (“_js_reg_fb_gate”, “https%3A%2F%2Fwww.facebook.com%2F%3Fstype%3Dlo%26jlou%3DAfc5ppiGsP_a621wAtsWk8PUCeFNvGPLtY9mTEqbRN7CiPY4inW_Rvpn2pGlWOCo8ZfikERErPtA2PupiGzD0RjLG1Dd8rOOlPHygREVqkm59Q%26smuh%3D34978%26lh%3DAc_e2O6CY7uW1pyB; path=/”)
cookieMap.put (“wd”, “1525x363; path=/”)
cookieMap.put (“dpr”, “1.25; path=/”)
wb = 编码_Utf8到Ansi (网页_访问 (“https://www.facebook.com/”, 1, , , backCookie, , , , , ))
调试输出 (“wb:” + wb + “,” + backCookie + “,post:” + postMap.toString () + “,cookieMap:” + cookieMap.toString ())
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值