zoukankan      html  css  js  c++  java
  • 在android中使用achartengine来绘制各种图表

    可以绘制线性图,点状图,柱状图,饼状图,气泡图等

    1. [文件] ABarChart.java ~ 2KB     下载(231)     

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    package com.anjoyo.achartengine;
     
    import java.util.Random;
     
    import org.achartengine.ChartFactory;
    import org.achartengine.chart.BarChart.Type;
    import org.achartengine.model.CategorySeries;
    import org.achartengine.model.XYMultipleSeriesDataset;
    import org.achartengine.renderer.SimpleSeriesRenderer;
    import org.achartengine.renderer.XYMultipleSeriesRenderer;
     
    import android.content.Context;
    import android.content.Intent;
    import android.graphics.Color;
     
    public class ABarChart {
        public Intent execute(Context context) {
             
            return ChartFactory.getBarChartIntent(context, getBarChartDataset(), getBarChartRenderer(), Type.DEFAULT);
        }
     
        private XYMultipleSeriesRenderer getBarChartRenderer() {
            // TODO Auto-generated method stub
            XYMultipleSeriesRenderer renderer=new XYMultipleSeriesRenderer();
            SimpleSeriesRenderer r;
            r=new SimpleSeriesRenderer();
            r.setColor(Color.BLUE);
            renderer.addSeriesRenderer(r);
            r=new SimpleSeriesRenderer();
            r.setColor(Color.GREEN);
            renderer.addSeriesRenderer(r);
            setBarChartRenderer(renderer);
            return renderer;
        }
     
        private void setBarChartRenderer(XYMultipleSeriesRenderer renderer) {
            // TODO Auto-generated method stub
            renderer.setChartTitle("Bar Chart");
            renderer.setXTitle("X Axis");
            renderer.setYTitle("Y Axis");
            renderer.setXAxisMax(10.5);
            renderer.setXAxisMin(0.5);
            renderer.setYAxisMax(210);
            renderer.setYAxisMin(0);
        }
     
        private XYMultipleSeriesDataset getBarChartDataset() {
            // TODO Auto-generated method stub
            XYMultipleSeriesDataset dataset=new XYMultipleSeriesDataset();
            final int SERIES_NR=2;
            final int NR=10;
            Random random=new Random();
            for (int i = 0; i < SERIES_NR; i++) {
                CategorySeries series=new CategorySeries("Bar Chart---"+(i+1));
                for (int j = 0; j < NR; j++) {
                    series.add(100+random.nextInt(100));
                }
                dataset.addSeries(series.toXYSeries());
            }
            return dataset;
        }
    }

    2. [文件] ABubbleChart.java ~ 3KB     下载(113)     

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    package com.anjoyo.achartengine;
     
    import java.util.Random;
     
    import org.achartengine.ChartFactory;
    import org.achartengine.chart.PointStyle;
    import org.achartengine.model.XYMultipleSeriesDataset;
    import org.achartengine.model.XYValueSeries;
    import org.achartengine.renderer.XYMultipleSeriesRenderer;
    import org.achartengine.renderer.XYSeriesRenderer;
     
    import android.content.Context;
    import android.content.Intent;
    import android.graphics.Color;
     
    public class ABubbleChart {
        private final int SERIES_NR = 3;
        private final int NR = 20;
     
        public Intent execute(Context context) {
            return ChartFactory.getBubbleChartIntent(context,
                    getBubbleChartDataset(), getBubbleChartRenderer(),
                    "Bubble Chart Demo");
        }
     
        private XYMultipleSeriesRenderer getBubbleChartRenderer() {
            // TODO Auto-generated method stub
            XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
            int[] linearColor = { Color.RED, Color.GREEN, Color.BLUE };
            XYSeriesRenderer r;
            for (int i = 0; i < SERIES_NR; i++) {
                // entry=new XYEntry<Integer, Integer>(key, value);
                r = new XYSeriesRenderer();
                r.setColor(linearColor[i]);
                r.setPointStyle(PointStyle.POINT);
                r.setLineWidth(2);
                renderer.addSeriesRenderer(r);
            }
            setBarChartRenderer(renderer);
            return renderer;
        }
     
        private XYMultipleSeriesDataset getBubbleChartDataset() {
            // TODO Auto-generated method stub
            XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
            for (int i = 0; i < SERIES_NR; i++) {
                XYValueSeries series = new XYValueSeries("Bubble Chart---"
                        + (i + 1));
                int temp = 10 * i;
                int[][] data = getBasicData();
                for (int j = 0; j < data.length; j++) {
                    if((j+1)%5 ==0){
                        int x = data[j][0];
                        int y = temp;
                        int value=data[j][1]+temp;
                        series.add(x, y, value);
                    }
                }
                dataset.addSeries(series);
            }
            return dataset;
        }
     
        private int[][] getBasicData() {
            int[][] data = new int[20][2];
            Random rand = new Random();
            for (int i = 0; i < data.length; i++) {
                data[i][0] = i;
                data[i][1] = 20 + rand.nextInt(20) % 20;
            }
            return data;
        }
     
        private void setBarChartRenderer(XYMultipleSeriesRenderer renderer) {
            // TODO Auto-generated method stub
            renderer.setChartTitle("Bubble Chart");
            renderer.setXTitle("X Axis");
            renderer.setYTitle("Y Axis");
            renderer.setXAxisMax(20);
            renderer.setXAxisMin(0);
            renderer.setYAxisMax(30);
            renderer.setYAxisMin(0);
            renderer.setAntialiasing(true);//没有看出有啥效果来
            renderer.setApplyBackgroundColor(true);//设置背景颜色
            renderer.setBackgroundColor(Color.TRANSPARENT);
            renderer.setShowAxes(true);//
            renderer.setAxesColor(Color.GRAY);
            renderer.setClickEnabled(true);//设置了之后,不可再拖动
            renderer.setZoomButtonsVisible(true);//设置伸缩按钮是否可见
            renderer.setZoomEnabled(true);
            renderer.setExternalZoomEnabled(true);//设置是否可以向伸缩
            renderer.setLabelsColor(Color.GREEN);
            renderer.setLabelsTextSize(16);
        }
    }

    3. [文件] ALinearChart.java ~ 2KB     下载(122)     

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    package com.anjoyo.achartengine;
     
    import java.util.Random;
     
    import org.achartengine.ChartFactory;
    import org.achartengine.chart.PointStyle;
    import org.achartengine.model.XYMultipleSeriesDataset;
    import org.achartengine.model.XYSeries;
    import org.achartengine.renderer.XYMultipleSeriesRenderer;
    import org.achartengine.renderer.XYSeriesRenderer;
     
    import android.content.Context;
    import android.content.Intent;
    import android.graphics.Color;
     
    public class ALinearChart {
        private final int SERIES_NR=3;
        private final int NR=20;
        public Intent execute(Context context) {
            return ChartFactory.getLineChartIntent(context, getLinearChartDataset(), getLinearChartRenderer(), "Linear Chart Another");
        }
     
        private XYMultipleSeriesRenderer getLinearChartRenderer() {
            // TODO Auto-generated method stub
            int[] linearColor={Color.RED, Color.GREEN, Color.BLUE};
            int[] belowLinearColor={Color.YELLOW, Color.CYAN, Color.GRAY};
            XYMultipleSeriesRenderer renderer=new XYMultipleSeriesRenderer();
            XYSeriesRenderer tempRender;
            for (int i = 0; i < SERIES_NR; i++) {
                tempRender=new XYSeriesRenderer();
                tempRender.setColor(linearColor[i]);
    //          tempRender.setFillBelowLine(true);
    //          tempRender.setFillBelowLineColor(belowLinearColor[i]);
                tempRender.setPointStyle(PointStyle.POINT);
                tempRender.setLineWidth(2);
                renderer.addSeriesRenderer(tempRender);
            }
            setLinearChartRenderer(renderer);
            return renderer;
        }
     
        private void setLinearChartRenderer(XYMultipleSeriesRenderer renderer) {
            // TODO Auto-generated method stub
            renderer.setChartTitle("Three Linear Chart");
            renderer.setXAxisMax(20);
            renderer.setXAxisMin(0);
            renderer.setYAxisMax(60);
            renderer.setYAxisMin(0);
        }
     
        private XYMultipleSeriesDataset getLinearChartDataset() {
            // TODO Auto-generated method stub
            XYMultipleSeriesDataset dataset=new XYMultipleSeriesDataset();
            for (int i = 0; i < SERIES_NR; i++) {
                XYSeries series=new XYSeries("Stock Trend---"+(i+1));
                int temp=10*i;
                int[][] data=getBasicData();
                for (int j = 0; j < data.length; j++) {
                    int x=data[j][0];
                    int y=temp+data[j][1];
                    series.add(x, y);
                }
                dataset.addSeries(series);
            }
            return dataset;
        }
        private int[][] getBasicData() {
            int[][] data=new int[20][2];
            Random rand=new Random();
            for (int i = 0; i < data.length; i++) {
                data[i][0]=i;
                data[i][1]=20+rand.nextInt(20)%20;
            }
            return data;
        }
    }

    4. [文件] APieChart.java ~ 2KB     下载(116)     

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    package com.anjoyo.achartengine;
     
    import org.achartengine.ChartFactory;
    import org.achartengine.model.CategorySeries;
    import org.achartengine.renderer.DefaultRenderer;
    import org.achartengine.renderer.SimpleSeriesRenderer;
     
    import android.content.Context;
    import android.content.Intent;
    import android.graphics.Color;
     
    public class APieChart {
        private double[] values = { 25, 30, 45 };
     
        public APieChart() {
            // TODO Auto-generated constructor stub
        }
     
        public APieChart(double[] values) {
            if (values.length == 3) {
                for (int i = 0; i < values.length; i++) {
                    this.values[i] = values[i];
                }
            }
        }
        public Intent execute(Context context) {
            int[] colors={Color.BLUE, Color.GREEN, Color.YELLOW};
            DefaultRenderer renderer=buildCategoryRenderer(colors);
            renderer.setAntialiasing(true);//没有看出有啥效果来
            renderer.setApplyBackgroundColor(true);//设置背景颜色
            renderer.setBackgroundColor(Color.TRANSPARENT);
            renderer.setShowAxes(true);//
            renderer.setAxesColor(Color.GRAY);
            renderer.setClickEnabled(true);//设置了之后,不可再拖动
            renderer.setZoomButtonsVisible(true);//设置伸缩按钮是否可见
            renderer.setZoomEnabled(true);
            renderer.setExternalZoomEnabled(true);//设置是否可以向伸缩
            renderer.setLabelsColor(Color.GREEN);
            renderer.setLabelsTextSize(16);
    //      renderer.setLegendHeight(50);
    //      renderer.setPanEnabled(true);
            renderer.setStartAngle(180);//好像不好用啊
            CategorySeries series=new CategorySeries("Fruit Ratio");
            series.add("Apple", values[0]);
            series.add("Banana", values[1]);
            series.add("Orange", values[2]);
            return ChartFactory.getPieChartIntent(context, series, renderer, "水果");
        }
         
        private DefaultRenderer buildCategoryRenderer(int[] colors) {
            DefaultRenderer renderer=new DefaultRenderer();
            renderer.setApplyBackgroundColor(true);
            renderer.setBackgroundColor(Color.GRAY);
            renderer.setLabelsTextSize(20);
            renderer.setChartTitle("饼状图");
            renderer.setChartTitleTextSize(20);
            renderer.setLegendTextSize(20);
            renderer.setLegendHeight(50);
            for (int i = 0; i < colors.length; i++) {
                int j = colors[i];
                SimpleSeriesRenderer r=new SimpleSeriesRenderer();
                r.setColor(j);
                renderer.addSeriesRenderer(r);
            }
            return renderer;
        }
    }

    5. [文件] MainActivity.java ~ 3KB     下载(120)     

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    package com.anjoyo.achartengine;
     
    import android.os.Bundle;
    import android.app.Activity;
    import android.content.Intent;
    import android.view.Menu;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
     
    public class MainActivity extends Activity {
        private Button lineChartBtn;
        private Button areaChartBtn;
        private Button scatterChartBtn;
        private Button timeChartBtn;
        private Button barChartBtn;
        private Button pieChartBtn;
        private Button bubbleChartBtn;
        private Button doughnutChartBtn;
        private Button rangeBarChartBtn;
        private Button dialChartBtn;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            lineChartBtn=(Button) findViewById(R.id.line_chart);
            areaChartBtn=(Button) findViewById(R.id.area_chart);
            scatterChartBtn=(Button) findViewById(R.id.scatter_chart);
            timeChartBtn=(Button) findViewById(R.id.time_chart);
            barChartBtn=(Button) findViewById(R.id.bar_chart);
            pieChartBtn=(Button) findViewById(R.id.pie_chart);
            bubbleChartBtn=(Button) findViewById(R.id.bubble_chart);
            doughnutChartBtn=(Button) findViewById(R.id.doughnut_chart);
            rangeBarChartBtn=(Button) findViewById(R.id.range_bar_chart);
            dialChartBtn=(Button) findViewById(R.id.dial_chart);
            OnClickListener listener=new AChartEngineListener();
            lineChartBtn.setOnClickListener(listener);
            pieChartBtn.setOnClickListener(listener);
            barChartBtn.setOnClickListener(listener);
            bubbleChartBtn.setOnClickListener(listener);
        }
        class AChartEngineListener implements OnClickListener{
     
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                switch (v.getId()) {
                case R.id.line_chart:
    //              Intent intent=new Intent(MainActivity.this, LinearChartActivity.class);
    //              startActivity(intent);
                    Intent linearChartIntent=new ALinearChart().execute(MainActivity.this);
                    startActivity(linearChartIntent);
                    break;
                case R.id.area_chart:
                    break;
                case R.id.scatter_chart:
                     
                    break;
                case R.id.time_chart:
                     
                    break;
                case R.id.bar_chart:
                    Intent barChartIntent=new ABarChart().execute(MainActivity.this);
                    startActivity(barChartIntent);
                    break;
                case R.id.pie_chart:
                    Intent pieChartIntent=new APieChart().execute(MainActivity.this);
                    startActivity(pieChartIntent);
                    break;
                case R.id.bubble_chart:
                    Intent bubbleChartIntent=new ABubbleChart().execute(MainActivity.this);
                    startActivity(bubbleChartIntent);
                    break;
                case R.id.doughnut_chart:
                     
                    break;
                case R.id.range_bar_chart:
                    break;
                case R.id.dial_chart:
                     
                    break;
     
                default:
                    break;
                }
            }
             
        }
    }

    6. [文件] LinearChartActivity.java ~ 4KB悦德财富:https://www.yuedecaifu.com        

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    package com.anjoyo.achartengine;
     
    import java.util.Random;
     
    import org.achartengine.ChartFactory;
    import org.achartengine.GraphicalView;
    import org.achartengine.chart.PointStyle;
    import org.achartengine.model.XYMultipleSeriesDataset;
    import org.achartengine.model.XYSeries;
    import org.achartengine.renderer.XYMultipleSeriesRenderer;
    import org.achartengine.renderer.XYSeriesRenderer;
     
    import android.app.Activity;
    import android.graphics.Color;
    import android.os.Bundle;
    import android.view.ViewGroup.LayoutParams;
    import android.widget.LinearLayout;
     
    public class LinearChartActivity extends Activity {
        private XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
        private XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
        private XYSeries currentSeries;
        private XYSeriesRenderer currentRenderer;
        private String dateFormat;
        private GraphicalView chartView;
     
        @Override
        protected void onRestoreInstanceState(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onRestoreInstanceState(savedInstanceState);
            dataset = (XYMultipleSeriesDataset) savedInstanceState
                    .getSerializable("dataset");
            renderer = (XYMultipleSeriesRenderer) savedInstanceState
                    .getSerializable("renderer");
            currentSeries = (XYSeries) savedInstanceState
                    .getSerializable("current_series");
            currentRenderer = (XYSeriesRenderer) savedInstanceState
                    .getSerializable("current_renderer");
            dateFormat = savedInstanceState.getString("date_format");
        }
     
        @Override
        protected void onSaveInstanceState(Bundle outState) {
            // TODO Auto-generated method stub
            super.onSaveInstanceState(outState);
            outState.putSerializable("dataset", dataset);
            outState.putSerializable("renderer", renderer);
            outState.putSerializable("current_series", currentSeries);
            outState.putSerializable("current_renderer", currentRenderer);
            outState.putString("date_format", dateFormat);
        }
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.stock_chart);
     
            String seriesTitle = "上证指数";
            XYSeries series = new XYSeries(seriesTitle);
            dataset.addSeries(series);
            currentSeries = series;
            XYSeriesRenderer seriesRenderer = new XYSeriesRenderer();
            seriesRenderer.setColor(Color.BLUE);
            seriesRenderer.setFillBelowLine(true);
    //      seriesRenderer.setFillBelowLineColor(Color.RED);//折线下面区域是否添加颜色
            seriesRenderer.setPointStyle(PointStyle.POINT);
            seriesRenderer.setLineWidth(3);
            renderer.addSeriesRenderer(seriesRenderer);
    //      添加另外一条曲线图
    //      seriesRenderer = new XYSeriesRenderer();
    //      seriesRenderer.setColor(Color.GREEN);
    //      seriesRenderer.setFillBelowLine(true);
    //      seriesRenderer.setFillBelowLineColor(Color.YELLOW);
    //      seriesRenderer.setPointStyle(PointStyle.POINT);
    //      seriesRenderer.setLineWidth(3);
    //      renderer.addSeriesRenderer(seriesRenderer);
             
            renderer.setYAxisMin(0);
            renderer.setYAxisMax(100);
            renderer.setXAxisMax(20);
            renderer.setShowGrid(false);
            renderer.setXLabels(20);
            renderer.setChartTitle("上证指数-24小时趋势图");
     
            currentRenderer = seriesRenderer;
            double x = 0;
            double y = 0;
            int[][] xyValues = getValues();
    //      for (int i = 0; i < 2; i++) {
    //         
                for (int j = 0; j < xyValues.length; j++) {
                    x=xyValues[j][0];
                    y=xyValues[j][1];
                    currentSeries.add(x, y);
                }
    //      }
        }
         
        @Override
        protected void onResume() {
            // TODO Auto-generated method stub
            if(chartView == null){
                LinearLayout layout=(LinearLayout) findViewById(R.id.chart);
                chartView=ChartFactory.getLineChartView(this, dataset, renderer);
                layout.addView(chartView, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
            }else {
                chartView.setBackgroundResource(R.id.chart);
                chartView.repaint();
            }
            super.onResume();
        }
     
        private int[][] getValues() {
            // TODO Auto-generated method stub
            int[][] xyValues = new int[20][2];
            Random rand=new Random();
            for (int i = 0; i < xyValues.length; i++) {
                xyValues[i][0]=i;
                xyValues[i][1]=rand.nextInt(100);
            }
            return xyValues;
        }
    }

    7. [文件] AndroidManifest.xml ~ 1KB   

     
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.anjoyo.achartengine"
        android:versionCode="1"
        android:versionName="1.0" >
     
        <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="17" />
     
        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppBaseTheme"
             >
            <activity
                android:name="com.anjoyo.achartengine.MainActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
             
            <activity android:name=".LinearChartActivity"></activity>
            <activity android:name="org.achartengine.GraphicalActivity"></activity>
        </application>
    </manifest>
  • 相关阅读:
    python3爬虫-快速入门-爬取图片和标题
    数据库Mysql的学习(八)-储存过程和事务和导入导出
    数据库Mysql的学习(七)-自定义函数和流程控制
    git reset --hard HEAD^
    list采坑记录一下
    Linux运行jar包
    JSONObject.toJSONString(map)
    String转list
    判断list中元素是否是相邻
    统计List中相同的元素
  • 原文地址:https://www.cnblogs.com/oceansea/p/5956255.html
Copyright © 2011-2022 走看看