精华内容
下载资源
问答
  • 数组转化Set(不使用Set类)。 思路:1.将数组排序  2.遍历数组,将临近的元素进行比较,如果不相等就加入容器。 (当然这里返回的是一个有序无重的容器没有实现无序) /** * 将数组去重(不使用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;
        }

     

    转载于:https://www.cnblogs.com/xiaoweihua/p/7029206.html

    展开全文
  • Java读取json数组转化成List或Object数组

          在之前的开发中经常遇到将List或Array转换成json传递到web前端,

    供前端显示,但是今天我遇到了一个需要将json数组传递到后台,并在后

    台转换成list的问题。为此我花费了一段较长的时间,为此我写下这篇博客。

         首先是在前端用js构造json数组,html代码如下:

    <TABLE style="width: 900px" id="table">
    <pre name="code" class="html">    <tr id="trHtml">
    	<td class="tdlabel" nowrap="nowrap"><label><ju:txt value="虚拟账号" />:</label></TD>
    	<TD><input type="text" id="payAccNo"  name="payAccNo" vui-name="payAccNo" style="width:100px;" autocomplete="off"/></TD>
    	<td class="tdlabel" nowrap="nowrap"><label><ju:txt value="科目号" />:</label></TD>
    	<TD>
    	<input type="text" id="glCode"  name="glCode" vui-name="glCode" style="width:100px;" autocomplete="off"/>
    	</TD>
    	<td class="tdlabel" nowrap="nowrap"><label><ju:txt value="货币类型" /><span style="color:red;"> *</span>:</label></TD>
    	<TD>
    	<select id="ccy" name="ccy" class="ccy" style="width:80px;text-align: center;"  vui-name="ccy"  vui-validate="required:true" > 
    	</select>
    	<TD/>
    	<td class="tdlabel" nowrap="nowrap"><label><ju:txt value="金额" /><span style="color:red;"> *</span>:</label></TD>
    	<TD>
    	<input type="text" id="amount" name="amount" style="width:80px;"  vui-name="amount"  vui-validate="required:true,type:number" /> 
    	<TD/>
    	<td class="tdlabel" nowrap="nowrap"><label><ju:txt value="摘要"/><span style="color:red;"> *</span>:</label></TD>
    	<TD>
    	<textarea id="remark" name="remark" style="width:200px;"  vui-name="remark"  vui-validate="required:true,maxlen:20"> </textarea>
    	<TD/>
    	<TD style="padding-left:35px;">
    	<img id="create" src="img/create.png" style="margin-right:10px"/>
    	<TD/>
    	<TD style="padding-left:15px;">
    	<img id="delete"  src="img/delete.png"/>
    	<TD/>
       </tr>				
    </TABLE>
    
    在需求中需要动态添加和删除tr中的内容以增加一行输入项,为此有如下js代码:
    //绑定添加
    			addHTML="<tr>"+$("#trHtml").html()+"</tr>";
    			$("#handworkAccountForm").find($("#create")).each(function(){
    				$("#create").die("click");
    				$("#create").live("click",function(){
    					$("#table").append(addHTML);
    					$(".ccy:last").html(modelsHTML);   
    				});
    			});
    // 			
    			//绑定删除
    			$("#handworkAccountForm").find($("#delete")).each(function(){
    				$("#delete").live("click",function(){
    					if($("#table tr").length==1){
    						return
    					}
    					$(this).parent().parent().remove();
    				});
    			});
    其中addHTML是select中的option项,是用ajax从后台load出来的,此处忽略。

          其次,需要用js获取个tr项中的输入,构造成json数组,代码如下:

    var saveHandworkAccount = function() {
    			var jsonData={"resourceID":"2020004"};
    			var handworkAccountList=new Array;
    			var jsonStr="";
    			$("#table tr td input,select,textarea").each(function(i){
    				var name=$(this).attr("name");
    				var value=$(this).val();
    				jsonStr=jsonStr+"\""+name+"\":"+"\""+value+"\""+",";
    				if(i%4==0&i!=0){
    					jsonStr="{"+jsonStr.substring(0,jsonStr.length-1)+"}";
    					var a=jQuery.parseJSON(jsonStr);
    					handworkAccountList.push(a);
    					jsonStr="";
    				}
    			});
    			jsonData["handworkAccountList"]=JSON.stringify(handworkAccountList);
    			$.vAjax({
    				url : "handworkAccountProcess.json",
    				data : jsonData,
    				dataType:"json",
    				success : function(data) {
    					if(data.errorMsg){
    						alert(data.errorMsg);
    						return;
    					}
    					if(data.info){
    						alert(data.info);
    						location.reload(); 
    					}else{
    						alert("操作失败");
    					}
    				},
    				error : function(jqXhr, textStatus, error) {
    					alert("加载页面失败!");
    				}
    			});
    		};
    构造出来的json格式如下:
    {
        "handworkAccountList": [
            {
                "payAccNo": "122",
                "glCode": "333",
                "ccy": "CNY",
                "amount": "44",
                "remark": " 5555"
            },
            {
                "payAccNo": "5555",
                "glCode": "6666",
                "ccy": "CNY",
                "amount": "888"
            }
        ],
        "resourceID": 2020004
    }
          最后是后台获取,代码如下:
    public void addHandworkAccount(Context context) {
            logger.debug("Start addHandworkAccount...");
            Map<String, Object> request = this.getRequestData();
            Map<String, Object> response = this.getResponseData();
            Object handworkAccountList = request.get("handworkAccountList");
            String json = handworkAccountList.toString();
            JSONArray array = JSONArray.fromObject(json);
            List<HandworkAccountDto>  dtoList=new ArrayList<HandworkAccountDto>();
            for (int i = 0; i < array.size(); i++) {
                JSONObject jsonObject = array.getJSONObject(i);
                dtoList.add((HandworkAccountDto) JSONObject.toBean(jsonObject, HandworkAccountDto.class));
            }
            logger.debug("addHandworkAccount success...");
        }

    其中List<HandworkAccountDto> 也可以是Object数组,HandworkAccountDto

    是数据传输对象,用来封装前端传递的参数,代码如下:

    public class HandworkAccountDto implements Serializable {
    
        protected String payAccNo;
        protected String glCode;
        protected String ccy;
        protected BigDecimal amount;
        protected String remark;
    
        //....省略get,set方法
    }

    至此,Java读取json数组转化成List或Object数组的案例完成。


         



    展开全文
  • 数组,List,Set相互转化

    万次阅读 多人点赞 2018-06-03 23:41:29
    转载:https://blog.csdn.net/my_precious/article/details/530102321.数组转化为List:String[] strArray= new String[]{"Tom", "Bob", "Jane"};List strList= Arrays.asList...

    转载:https://blog.csdn.net/my_precious/article/details/53010232

     

    1. 数组转化为List:

    String[] strArray= new String[]{"Tom", "Bob", "Jane"};
    
    List strList= Arrays.asList(strArray);

     

    2. 数组转Set

    String[] strArray= new String[]{"Tom", "Bob", "Jane"};
    
    Set<String> staffsSet = new HashSet<>(Arrays.asList(staffs));
    
    staffsSet.add("Mary"); // ok
    
    staffsSet.remove("Tom"); // ok

     

    3. List转Set

    String[] staffs = new String[]{"Tom", "Bob", "Jane"};
    
    List staffsList = Arrays.asList(staffs);
    
    Set result = new HashSet(staffsList);

     

    4. set转List

    String[] staffs = new String[]{"Tom", "Bob", "Jane"};
    
    Set<String> staffsSet = new HashSet<>(Arrays.asList(staffs));
    
    List<String> result = new ArrayList<>(staffsSet);

     

     

     

    展开全文
  • 1、报警数据显示(具有相同经纬度的一维数组转化成二维数组) var alarmData = [             {       &...

    1、报警数据显示(具有相同经纬度的一维数组转化成二维数组)
    var alarmData = [
                {
                    id:‘xu’,
                    la:1,
                    lo:2,
                },
                {
                    id:‘li’,
                    la:1,
                    lo:2.2,
                },
                {
                    id:‘wang’,
                    la:1,
                    lo:2,
                },
            ];
    结果为:
    [[{id: “xu”, la: 1, lo: 2},{id: “wang”, la: 1, lo: 2}], [{id: “li”, la: 1, lo: 2.2}]]
    代码:
    var map = new Map();
    var newArr = [];
    alarmData.forEach(item => {
     map.has(item.la+’|’+item.lo)  ? map.get(item.la+’|’+item.lo). push(item) :  map.set(item.la+’|’+item.lo, [item]);
    });
    newArr = […map.values()];
    二维数组变成一维数组:
    console.log([].concat.apply([], newArr));

    展开全文
  • 数组转化成二叉树

    2011-08-11 21:39:29
    这几天在学习树的相关知识,跟大家分享下如何实现数组转化成二叉树 首先创建二叉树的结点类 * 二叉树的结点类 * @author Administrator * */ public class TreeNode { private int obj;//结点内的数据...
  • 如何使用Newtonsoft.NET将JSON数组转化成C#匿名类集合? var url = ""; var patientMsg = await httpClient.GetStringAsync($"{url}?BingQuDM=1"); //1.转义后的Json 字符串 patientMsg = "{\"Rows\":[{\...
  • 两个类: Arrays ArrayList list set等都是继承collection接口,参数可以是Collection ? 只要将数组转化为list就可以在三者之间相互转化 数组转list Arrays.asList(array)
  • } // @Test public void testReduce(){ } 数组转化成集合 @Test public void testArrayTransferCollection(){ String[] strings = {"aa", "bb", "cc", "dd"}; // 方法1:原生的方式,遍历输入并将元素加入List集合 ...
  • set; }  public string CreateTime { get; set; }  public string ThumbnailList { get; set; }  public string VideoUrl { get; set; }  public string SizeInBytes { get; set; }  public string ...
  • 1、首先数据库创建表,存放文件的字节数组(二进制文件),在MYSQL中的类型是BLOB (binary large object),java中包装类是Byte[]。 CREATE TABLE document_inf ( ID int(11) NOT NULL AUTO_INCREMENT, filename ...
  • 最近新工作的公司,查询出来的数据都是一个字符串数组,或者是一个List的字符串数组,个人感觉不是调用的时候不是很方便,而且通过数组下标来获取值有点麻烦,容易出错,所以工作之余写了一个类,将字符串数组String...
  • PHP 数组转化成树

    2018-11-23 15:50:48
    使用栈的思想实现数组到树的转化 ... * $list 数组转化成森林 * $pk key * $pid parentId * */ function arrayToForest($list, $pk, $pid, $child = 'children') { $tree = array(); if (!is_array($l...
  • 数组转化为类数组 类数组转化为数组1 : Array.prototype.slice.call(arguments) //从索引开始出提取数组 var test = function() { return Array.prototype.slice.call(arguments) ; //es5 } let a =...
  • list、数组转化实现

    千次阅读 2019-01-22 13:56:37
    在String[]数组转化为list集合的时候,由于jdk本身提供了Array.asList(String[] strs);就直接拿List&lt;String&gt; list = Arrays.asList(strs); 如果需要对转化后list集合进行set()、add()、remove()时,...
  • java 将数组转化为集合列表

    千次阅读 2017-10-20 18:43:39
    1.将数组转化为列表将数组转化为一个列表时,程序员们经常这样做: List<String> list = Arrays.asList(arr);Arrays.asList()会返回一个ArrayList对象,ArrayList类是Arrays的一个私有静态类,而不是java.util....
  • 如何在Java中将数组转换为Set

    千次阅读 2020-04-15 15:29:18
    I would like to convert an array to a Set in Java. 我想将数组转换为Java中的Set。 There are some obvious ways o
  • 1String数组转化成List //准备一个String数组 String[] strs = {"aa","bb","cc"}; //String数组转List List<String> strsToList2=new ArrayList<>(); 2 List转化String数组 //先准备一个List ...
  • 数组转化成数组1. 类数组对象2. Array.prototype.slice.call()3. Array.from()4. 扩展运算符(...) 1. 类数组对象 具有length属性 不具有数组的所有方法 常见的类数组有 arguments, NodeList 2. Array.prototype....
  • 把多维数组转化为二维数组

    千次阅读 2013-07-20 17:23:53
    /** ... * 把多维数组转化为二维数组  * @staticvar array $result  * @param $data  * @return  */  public function array_multi2single($data){  static $result=array();  for
  • 伪数组(类数组):无法直接调用数组方法或期望length属性有什么特殊的行为,但仍可以对真正数组遍历方法来遍历它们。典型的是函数的...可以使用Array.prototype.slice.call(fakeArray)将数组转化为真正的Arr...
  • js中数组set的相互转化

    千次阅读 2020-07-20 18:47:05
    1、array --> set数组set) 例子: let array = [1, 2, 3, 4]; let set = new Set(array); 2.set --> array (set转数组) 例子: let demo = new Set([1,2,3,4]); Array.from(demo)

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 125,365
精华内容 50,146
关键字:

数组转化成set