第二十节(数组和集合)

package aaaa;

/**
 *
 *
 * Test<BR>
 * 创建人:dengfengming <BR>
 * 时间:2015年1月18日-上午9:52:34 <BR>
 * @version 1.0.0
 *
 */
public class Test {
    public static int[] sort(int[] numbers,boolean flag){
        for(int i=0; i < numbers.length-1; i++){
            for(int j=0; j < numbers.length-i-1 ;j++){//循环有一个一定要
                if(!flag){
                    if(numbers[j] < numbers[j+1]){
                        int s = numbers[j+1];
                        numbers[j+1] = numbers[j];
                        numbers[j] = s;
                    }
                }else{
                    if(numbers[j] > numbers[j+1]){
                        int s = numbers[j+1];
                        numbers[j+1] = numbers[j];
                        numbers[j] = s;
                    }
                }
            }
        }
        return numbers;
    }

    public static void main(String[] args) {

        //java的八种数据类型---一种数据结构
        //byte int short long --整型
        //float double 浮点数
        //char -字符型 0 48 A 65 a97

        //boolean 不参与数据类型转换
//        char c = ‘A‘;
//        System.out.println("A======"+(int)c);
//        char a = ‘a‘;
//        System.out.println("a======"+(int)a);
//        char zero = ‘0‘;
//        System.out.println("0====="+(int)zero);
//        int i = 1;
//        int c = 2;

//        //数组--第一种定义方式--
//        int[] counts = {1,2,3,4,5,6,7,8,9,10};
//        float[] menoys = {1.5f,10,1.9f};
//        char[] cs = {‘A‘,‘中‘,‘1‘,‘C‘};
//        //获取数组的第一个值 ,数组的下标是从:0开始
//        System.out.println("获取数组的第一个值:"+counts[0]);
//        //数组数组的最后一个值
//        int length = counts.length;
//        System.out.println("数组的长度是:"+length);
//        System.out.println("数组的最后一个值是:"+counts[length-1]);
//
//        //数组一旦定义长度就不可以更改了。
//
//        //数组-第二种定义方式--初始化后赋值
//        int[] numbers = new int[3];
//        numbers[0] = 1;
//        numbers[1] = 2;
//        numbers[2] = 3;
//
//        //第三种第一方式
//        int[] numbs = new int[]{1,2,3};
//
//        //更改一下
//        numbers[0]=1000;
//        System.out.println(numbers[0]);
//        System.out.println(numbers.length);
//        for (int i = 0; i < numbers.length; i++) {
//            System.out.println("number["+i+"]的值是:"+numbers[i]);
//        }
//
//        System.out.println("===================");
//        int k = 0;
//        for(int c : numbers){//foreach循环
//            System.out.println("numbers["+k+"]==="+c);
//            k++;
//        }
//        //数组如何取值--for循环获取值
//        int[] ks = {1,10,0,5,999,100,12};
//        for(int i=0; i < ks.length-1; i++){
//            System.out.println("第一次交换的过程是:ks["+i+"]");
//            for(int j=0; j < ks.length-i-1 ;j++){//循环有一个一定要
//                //System.out.println("交换之前ks["+j+"]===ks["+(j+1)+"]==对应的值是:"+ks[j]+"==="+ks[j+1]);
//                if(ks[j] < ks[j+1]){
//                    int s = ks[j+1];
//                    ks[j+1] = ks[j];
//                    ks[j] = s;
//                }
//                System.out.println("【交换之后ks["+j+"]===ks["+(j+1)+"]==对应的值是:"+ks[j]+"==="+ks[j+1]+"】");
//            }
//
//            System.out.println("=============================");
//        }

        //交换排序---

        int[] numbers = {1,8,952,41,52,0,87,61,1111,88};
        numbers = sort(numbers, false);
        for (int i : numbers) {
            System.out.println(i);
        }
    }

}
package com.ming;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 *
 *
 * ListDemo<BR>
 * 创建人:dengfengming <BR>
 * 时间:2015年1月18日-上午10:16:59 <BR>
 * @version 1.0.0
 *
 */

public class ListDemo {
public static void main(String[] args) {

        new ListDemo();

        //1:我学了知识点能干什么
        //2:为什么要这样做
        //3:有什么用
        //4:怎么去使用
        //5:什么时候用
        //javase:基础数据类型,封装数据类型之间的转换   数组,集合,Map java的面向对象
        //io 异常

        //java.util.Collection jdk-api
        //Collection 接口-----List接口 === Set接口
        //List结合---ArrayList LinkedList Vector(ArrayList实现的原理都是一样的--线程安全的)//
        //为什么会有集合?

        //定义 数组你相当开辟一个长度为10的数组--一个动态数组
        //集合条件元素是调用:add(object);
        List<String> strings = new ArrayList<String>();//等价于String[] str = new String[10];
        //jdk里面的ArrayList和Vectory他们是一个以1.5 * 10 + 1为扩展的动态数组 = 16
        strings.add("1");
        strings.add("2");
        strings.add("3");
        strings.add("4");
        strings.add("5");
        strings.add("6");
        strings.add("7");
        strings.add("8");
        strings.add("9");
        strings.add("10");
        strings.add("11");//添加到这一行的时候:数组的长度就变成:16
        //泛型=--数据类型范围的置顶

//        //获取元素的第一值
//        System.out.println("集合的第一个元素是:"+strings.get(0));
//        //获取元素的最后一个值
//        int length = strings.size();
//        System.out.println("集合的长度是:"+length);
//        System.out.println("集合的最后一个元素是:"+strings.get(length-1));
//        strings.set(0, "1000");//修改
//        System.out.println("集合的第一个元素是:"+strings.get(0));
//        strings.remove(5);//根据下标去删除集合的元素
//        strings.set(0, null);
//        strings.set(2, null);
//        strings.add(null);

//        //用for取值
//        System.out.println("======第一种foreach循环");
//        for (String string : strings) {
//            System.out.println(string);
//        }
//
//        System.out.println("======第三种Iterator循环");
//        Iterator<String> iterator = strings.iterator();
//        while(iterator.hasNext()){
//            System.out.println(iterator.next());
//        }

//        System.out.println("======第二种for循环");

        //对分好的理解
        //一定要认真的观察每一个代码包括标点符号.
        for (int i = 0; i < strings.size(); i++);//静态代码块--它和类静态方法一样--在类启动的时候就初始化了
        {
            System.out.println(strings.get(0));
        }
    }
}
时间: 2024-10-24 22:53:05

第二十节(数组和集合)的相关文章

centos LAMP第二部分apache配置 第二十节课

centos   LAMP第二部分apache配置  第二十节课 上半节课 下半节课 f

centos mysql 优化 第二十节课

centos mysql  优化  第二十节课 f

大白话5分钟带你走进人工智能-第二十节逻辑回归和Softmax多分类问题(5)

                                                    大白话5分钟带你走进人工智能-第二十节逻辑回归和Softmax多分类问题(5) 上一节中,我们讲解了逻辑回归的优化,本节的话我们讲解逻辑回归做多分类问题以及传统的多分类问题,我们用什么手段解决. 先看一个场景,假如我们现在的数据集有3个类别,我们想通过逻辑回归建模给它区分出来.但我们知道逻辑回归本质上是区分二分类的算法模型.难道没有解决办法了吗?办法还是有的,既然想分出3类,我们姑且称这3个类

[ExtJS5学习笔记]第二十节 Extjs5配合数组的push方法,动态创建并加载组件

本文地址:http://blog.csdn.net/sushengmiyan/article/details/39226773 官方例子:http://docs.sencha.com/extjs/5.0/apidocs/#!/api/Array-method-push 本文作者:sushengmiyan -------------------------------------------------------------------------------------------------

第二十五条:泛型集合优先于数组

数组与泛型集合相比,有两个重要的不同点. 首先,数组是协变的,相反,泛型则是不可变的.所谓的协变是指:如果Sub类是Super类的子类型,那么数组类型Sub[] 就是Super[]的子类型,也就是 说可以将Sub[]数组实例赋给Super[]数组类型变量.相反泛型是不可变的,那么List<Sub>与List<Super>则不存在子类型与超类型的关系.也就是说 不能将ArrayList<Sub>实例赋给ArrayList<Super>类型的变量. 其次,数组是

第二十节,基本数据类型,集合set、综合应用新数据更新老数据

基本数据类型,集合set.综合应用新数据更新老数据 创建两个字典新数据,更新原始数据,a为原始数据,b为新数据 1,分别获取到a字典和b字典的key(键),将两个字典的键分别转换成两个集合 2,找出a2集合里存在,b2集合里不存在的元素,得到:{'#2', '#3'}(需要删除:?) 3,找出b2集合里存在,a2集合里不存在的元素,得到:{'#4', '#7'}(需要新建:?) 4,找出a2集合和b2集合有交集的元素,也就是a2集合和b2集合都存在的元素,得到:{'#1'}(需要更新:?) 5,

Java基础第二十四天总结——集合

目录: 一.Map接口 二.Collection工具类 /*---------------分割线---------------------*/ 一.Map接口 Map中的key用Set来存放,不可重复.作为一个Map对象所对应的类,需重写hashCode和equals方法. HashMap是Map接口使用频率最高的实现类. 添加.删除.修改操作: Object put(Object key,Object value):将指定key-value添加到(或修改)当前map对象中 void putAl

Scala入门到精通——第二十节 类型參数(二)

本节主要内容 Ordering与Ordered特质 上下文界定(Context Bound) 多重界定 类型约束 1. Ordering与Ordered特质 在介绍上下文界定之前,我们对scala中的Ordering与Ordered之间的关联与差别进行解说,先看Ordering.Ordered的类继承层次体系: 通过上面两个图能够看到,Ordering混入了java中的Comparator接口.而Ordered混入了java的Comparable接口.我们知道java中的Comparator是一

Scala入门到精通——第二十节 类型参数(二)

本节主要内容 Ordering与Ordered特质 上下文界定(Context Bound) 多重界定 类型约束 1. Ordering与Ordered特质 在介绍上下文界定之前,我们对scala中的Ordering与Ordered之间的关联与区别进行讲解,先看Ordering.Ordered的类继承层次体系: 通过上面两个图可以看到,Ordering混入了java中的Comparator接口,而Ordered混入了java的Comparable接口,我们知道java中的Comparator是一