zoukankan      html  css  js  c++  java
  • 矩阵转换

    <PRE class=" java; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">package com.Pong;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.logging.Logger; 
    
    public class ConvertMatrix {
    
        /**
         * @param args
         */
    /*
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int a[][]=new int[19][19];
            for(int k=0;k&lt;=9;k++){
            for (int i = k; i &lt; a.length-k; i++) {
                for (int j = k; j &lt; a.length-k; j++) {
                    a[i][j]=9-k;
                }
            }
            }
    
            for (int i = 0; i &lt; a.length; i++) {
                for (int j = 0; j &lt; a.length; j++) {
                    System.out.print(a[i][j]+" ");
                }
                System.out.println();
            }
    
        }
    */
    
       private static Logger log = Logger.getLogger(ConvertMatrix.class.getName());
    
        /**
         * 将结果集二维集合数据转换为XML
         *
         * @param columns 列名集合
         * @param result  二维结果集
         * @return 返回格式良好的XML字符串
         */
        public static String listToXML(ArrayList&lt;String&gt; columns, ArrayList&lt;ArrayList&gt; result) {
            StringBuffer sb = new StringBuffer();
            sb.append("&lt;?xml version="1.0"  encoding="GB2312"?&gt;
    ")
                    .append("&lt;?xml-stylesheet type="text/xsl" href="")
                    .append(""?&gt;
    
    ");
            sb.append("&lt;rptcontent&gt;
    ");
            for (ArrayList al : result) {
                sb.append("	&lt;row&gt;");
                for (Iterator it_al = al.iterator(), it_c = columns.iterator(); it_al.hasNext() &amp;&amp; it_c.hasNext();) {
                    String tmp = it_c.next().toString();
                    sb.append("
    		&lt;").append(tmp).append("&gt;").append(it_al.next()).append("&lt;").append(tmp).append("/&gt;");
                }
                sb.append("
    	&lt;/row&gt;
    ");
            }
            sb.append("&lt;/rptcontent&gt;");
            return sb.toString();
        }
    
        /**
         * 将结果集二维数组数据转换为XML
         *
         * @param columns 列名数组
         * @param result  二维结果集数组
         * @return 返回格式良好的XML字符串
         */
        public static String arrayToXML(Object[] columns, Object[][] result) {
            StringBuffer sb = new StringBuffer();
            sb.append("&lt;?xml version="1.0"  encoding="GB2312"?&gt;
    ")
                    .append("&lt;?xml-stylesheet type="text/xsl" href="")
                    .append(""?&gt;
    
    ");
            sb.append("&lt;rptcontent&gt;
    ");
            for (Object[] al : result) {
                sb.append("	&lt;row&gt;");
                for (int i = 0; i &lt; columns.length - 1; i++) {
                    sb.append("
    		&lt;").append(columns[i].toString()).append("&gt;").append(al[i].toString()).append("&lt;").append(columns[i].toString()).append("/&gt;");
                }
                sb.append("
    	&lt;/row&gt;
    ");
            }
            sb.append("&lt;/rptcontent&gt;");
            return sb.toString();
        }
    
        /**
         * 二维集合转为二维数组
         *
         * @param result 二维集合
         * @return 二维数组
         */
        public static Object[][] listToArray(ArrayList&lt;ArrayList&gt; result) {
            int size = result.size();
            Object obj[][] = new Object[size][];
            if (size == 0) {
                log.info("集合为空,转换数组失败,将返回null!");
                return null;
            }
            for (int i = 0; i &lt; size; i++) {
                obj[i] = result.get(i).toArray();
            }
            return obj;
        }
    
        /**
         * 将二维数组转为二维ArrayList
         *
         * @param arr 二维数组
         * @return 二维ArrayList
         */
        public static ArrayList&lt;ArrayList&gt; arrayToList(Object[][] arr) {
            ArrayList&lt;ArrayList&gt; all = new ArrayList&lt;ArrayList&gt;();
            for (int i = 0; i &lt; arr.length; i++) {
                all.add(arrayToList(arr[i]));
            }
            return all;
        }
    
        /**
         * 将一维数组转为List对象
         *
         * @param ar 一维数组
         * @return List对象
         */
        public static ArrayList arrayToList(Object[] ar) {
            ArrayList al = new ArrayList();
            for (Object obj : ar) {
                al.add(obj);
            }
            return al;
        }
    
        /**
         * 输出二维集合到控制台
         *
         * @param all 二维集合
         */
        public static void listOutputConsole(ArrayList&lt;ArrayList&gt; all) {
            System.out.println("-------输出二维集合到控制台-------");
            for (ArrayList al : all) {
                for (Object a : al) {
                    System.out.print(a.toString() + "	");
                }
                System.out.println();
            }
            System.out.println("
    ------------------------");
        }
    
    
        /**
         * 将二维数组输出到控制台
         *
         * @param arr 二维数组
         */
        public static void arrrayOutputConsole(Object[][] arr) {
            System.out.println("-------输出二维数组到控制台-------");
            for (Object[] ar : arr) {
                for (Object a : ar) {
                    System.out.print(a.toString() + "	");
                }
                System.out.println();
            }
            System.out.println("
    ------------------------");
        }
    
        /**
         * 将二维数组转为格式美观的字符串
         *
         * @param arr 二维数组
         */
        public static String arrayToString(Object[][] arr) {
            StringBuilder sb = new StringBuilder();
            for (Object[] ar : arr) {
                for (Object a : ar) {
                    sb.append(a.toString()).append("	");
                }
                sb.append("
    ");
            }
            return sb.toString();
        }
    
        /**
         * 将二维集合转为格式美观的字符串
         *
         * @param all 二维集合
         */
        public static String listToString(ArrayList&lt;ArrayList&gt; all) {
            StringBuilder sb = new StringBuilder();
            for (ArrayList al : all) {
                for (Object a : al) {
                    sb.append(a.toString()).append("	");
                }
                sb.append("
    ");
            }
            return sb.toString();
        }
    
        public static void main(String args[]) {
            ArrayList&lt;ArrayList&gt; all = new ArrayList&lt;ArrayList&gt;();
            ArrayList al0 = new ArrayList();
            ArrayList al1 = new ArrayList();
            ArrayList al2 = new ArrayList();
    
            al0.add("01");
            al0.add("02");
            al1.add("11");
            al1.add("12");
            al2.add("21");
            al2.add("22");
    
            all.add(al0);
            all.add(al1);
            all.add(al2);
    
            listOutputConsole(all);
    
            StringBuffer sb = new StringBuffer();
            ArrayList c = new ArrayList();
            c.add("c1");
            c.add("c2");
            c.add("c3");
    
    
            Object[][] obj = listToArray(all);
            arrrayOutputConsole(obj);
    
            ArrayList&lt;ArrayList&gt; allx = arrayToList(obj);
    
            String x = arrayToXML(c.toArray(), obj);
            System.out.println(x);
        } 
    
    }
    </PRE>
  • 相关阅读:
    WinForm常用代码
    XML编程与应用-读取XML
    基础SQL语句
    WPF基础——继承
    wpf控件
    手机网页支付
    Application_Start 多次启动问题
    更改Outlook 2013中Exchange数据文件存放路径
    MySql双机热备份
    图片轮播(Jquery)
  • 原文地址:https://www.cnblogs.com/Kconnie/p/4687949.html
Copyright © 2011-2022 走看看