• 学生选课——判断Set中课程是否存在

package com.imooc.collection;

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

public class SetTest {

    public List<Course>coursesToSelect;
    public SetTest(){
        coursesToSelect=new ArrayList<Course>();
    }

    //用于往CourseToSelect中添加备选课程
    public void testAdd(){
        //创建一个课程对象,并通过调用add方法,添加到备选课程List中
        Course c=new Course("1","数据结构");
        coursesToSelect.add(c);
        Course temp=(Course) coursesToSelect.get(0);
        //System.out.println("添加了一门课程"+temp.id+":"+temp.name);

        Course c1=new Course("2","C语言");
        coursesToSelect.add(0, c1);
        Course temp1=(Course) coursesToSelect.get(0);
        //System.out.println("添加一门课程:"+temp1.id+":"+temp1.name);

        Course cq=new Course("1","数据结构");
        coursesToSelect.add(cq);
        Course temp0=(Course) coursesToSelect.get(2);
        //System.out.println("添加了一门课程"+temp0.id+":"+temp0.name);

        /*Course c2=new Course("2","Test1");
        CourseToSelect.add(4, c2);*/
        Course[] course={new Course("3","离散数学"),new Course("4","汇编语言")};
        coursesToSelect.addAll(Arrays.asList(course));
        Course temp2=(Course) coursesToSelect.get(2);
        Course temp3=(Course) coursesToSelect.get(3);
        //System.out.println("添加了两门课程:"+temp2.id+":"+temp2.name+";"+temp3.id+":"+temp3.name);

        Course[] course2={new Course("5","高等数学"),new Course("6","数字逻辑")};
        coursesToSelect.addAll(2, Arrays.asList(course2));
        Course temp4=(Course) coursesToSelect.get(2);
        Course temp5=(Course) coursesToSelect.get(3);
        //System.out.println("添加了两门课程:"+temp4.id+":"+temp4.name+";"+temp5.id+":"+temp5.name);

    }

    /* * 取得List中的元素的方法
     **/
            /*public void testGet(){
                System.out.println("有如下课程待选:");
                 int size=coursesToSelect.size();
                 for (int i = 0; i < size; i++) {
                    Course cr=(Course) coursesToSelect.get(i);
                    System.out.println("课程:"+cr.id+":"+cr.name);
                }
     }
    */

/* * 通过迭代器来遍历List
 * */
    /*public void testIterator(){
        //通过集合iterator方法,取得迭代器实例
        Iterator it=coursesToSelect.iterator();
        System.out.println("有如下课程待选(通过迭代器访问):");
        while (it.hasNext()) {
            Course cr = (Course) it.next();
            System.out.println("课程:"+cr.id+":"+cr.name);
        }
    }*/

    /*测试List的contains方法*/
    public void testListContains(){
        //取得被选课程序列的第0个元素
        Course course=coursesToSelect.get(0);
        //打印输出courseToSelect    是否包含course对象
        System.out.println("取得课程"+course.name);
        System.out.println("被选课程中是否包含课程"+course.name+","+coursesToSelect.contains(course));
        //创建一个新的课程对象,ID和名称,与course对象完全一样
        Course course2=new Course(course.id,course.name);
        System.out.println("新创建课程:"+course2.name);
        System.out.println("备选课程中是否包含课程:"+course2.name+","+coursesToSelect.contains(course2));

    }

 /** 通过for each方法访问集合元素
 *
 *     */        

    /*public void testForEach(){
        System.out.println("有如下课程待选(通过 for each访问):");
        for (Object object : coursesToSelect) {
            Course cr=(Course) object;
            System.out.println("课程:"+cr.id+":"+cr.name);
        }
    }*/

    /**
     * @param argsS
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        SetTest st=new SetTest();
        st.testAdd();
        st.testListContains();

        /*st.testForEach();
        //创建一个学生对象
        Student student=new Student("1","小明");
        System.out.println("欢迎学生"+student.name+"选课");
        //创建一个Scanner对象,用来接收从键盘输入的课程ID
        Scanner console=new Scanner(System.in);
        for (int i = 0; i < 3; i++) {
                System.out.println("请输入课程ID");
                String courseId=console.next();
                for (Course cr : st.coursesToSelect) {
                    if (cr.id.equals(courseId)) {
                        student.courses.add(cr);
Set中添加某个对象,无论添加杜少次,
 * 最终只会保留一个该对象(的引用)
 * 并且,保留的是第一次添加的那一个
                        //student.courses.add(null);
                        //student.courses.add(cr);
                    }
                }
        }
        st.testForEachForSet(student);    */
    }

    /*public void testForEachForSet(Student student){
        //打印输出,学生所选的课程
        System.out.println("共选择了"+student.courses.size()+"门课程!");
        for(Course cr:student.courses){
            System.out.println("选择了课程"+cr.id+":"+"cr.name");

        }

    }*/
}

第一种方法:

package com.imooc.collection;

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

public class SetTest {

    public List<Course>coursesToSelect;
    public SetTest(){
        coursesToSelect=new ArrayList<Course>();
    }

    //用于往CourseToSelect中添加备选课程
    public void testAdd(){
        //创建一个课程对象,并通过调用add方法,添加到备选课程List中
        Course c=new Course("1","数据结构");
        coursesToSelect.add(c);
        Course temp=(Course) coursesToSelect.get(0);
        //System.out.println("添加了一门课程"+temp.id+":"+temp.name);

        Course c1=new Course("2","C语言");
        coursesToSelect.add(0, c1);
        Course temp1=(Course) coursesToSelect.get(0);
        //System.out.println("添加一门课程:"+temp1.id+":"+temp1.name);

        Course cq=new Course("1","数据结构");
        coursesToSelect.add(cq);
        Course temp0=(Course) coursesToSelect.get(2);
        //System.out.println("添加了一门课程"+temp0.id+":"+temp0.name);

        /*Course c2=new Course("2","Test1");
        CourseToSelect.add(4, c2);*/
        Course[] course={new Course("3","离散数学"),new Course("4","汇编语言")};
        coursesToSelect.addAll(Arrays.asList(course));
        Course temp2=(Course) coursesToSelect.get(2);
        Course temp3=(Course) coursesToSelect.get(3);
        //System.out.println("添加了两门课程:"+temp2.id+":"+temp2.name+";"+temp3.id+":"+temp3.name);

        Course[] course2={new Course("5","高等数学"),new Course("6","数字逻辑")};
        coursesToSelect.addAll(2, Arrays.asList(course2));
        Course temp4=(Course) coursesToSelect.get(2);
        Course temp5=(Course) coursesToSelect.get(3);
        //System.out.println("添加了两门课程:"+temp4.id+":"+temp4.name+";"+temp5.id+":"+temp5.name);

    }

    /* * 取得List中的元素的方法
     **/
            /*public void testGet(){
                System.out.println("有如下课程待选:");
                 int size=coursesToSelect.size();
                 for (int i = 0; i < size; i++) {
                    Course cr=(Course) coursesToSelect.get(i);
                    System.out.println("课程:"+cr.id+":"+cr.name);
                }
     }
    */

/* * 通过迭代器来遍历List
 * */
    /*public void testIterator(){
        //通过集合iterator方法,取得迭代器实例
        Iterator it=coursesToSelect.iterator();
        System.out.println("有如下课程待选(通过迭代器访问):");
        while (it.hasNext()) {
            Course cr = (Course) it.next();
            System.out.println("课程:"+cr.id+":"+cr.name);
        }
    }*/

    /*测试List的contains方法*/
    public void testListContains(){
        //取得被选课程序列的第0个元素
        Course course=coursesToSelect.get(0);
        //打印输出courseToSelect    是否包含course对象
        System.out.println("取得课程"+course.name);
        System.out.println("被选课程中是否包含课程"+course.name+","+coursesToSelect.contains(course));
        //创建一个新的课程对象,ID和名称,与course对象完全一样
        Course course2=new Course(course.id,course.name);
        System.out.println("新创建课程:"+course2.name);
        System.out.println("备选课程中是否包含课程:"+course2.name+","+coursesToSelect.contains(course2));

    }

 /** 通过for each方法访问集合元素
 *
 *     */        

    /*public void testForEach(){
        System.out.println("有如下课程待选(通过 for each访问):");
        for (Object object : coursesToSelect) {
            Course cr=(Course) object;
            System.out.println("课程:"+cr.id+":"+cr.name);
        }
    }*/

    /**
     * @param argsS
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        SetTest st=new SetTest();
        st.testAdd();
        st.testListContains();

        /*st.testForEach();
        //创建一个学生对象
        Student student=new Student("1","小明");
        System.out.println("欢迎学生"+student.name+"选课");
        //创建一个Scanner对象,用来接收从键盘输入的课程ID
        Scanner console=new Scanner(System.in);
        for (int i = 0; i < 3; i++) {
                System.out.println("请输入课程ID");
                String courseId=console.next();
                for (Course cr : st.coursesToSelect) {
                    if (cr.id.equals(courseId)) {
                        student.courses.add(cr);
Set中添加某个对象,无论添加杜少次,
 * 最终只会保留一个该对象(的引用)
 * 并且,保留的是第一次添加的那一个
                        //student.courses.add(null);
                        //student.courses.add(cr);
                    }
                }
        }
        st.testForEachForSet(student);    */
    }

    /*public void testForEachForSet(Student student){
        //打印输出,学生所选的课程
        System.out.println("共选择了"+student.courses.size()+"门课程!");
        for(Course cr:student.courses){
            System.out.println("选择了课程"+cr.id+":"+"cr.name");

        }

    }*/
}

第二种方法

package com.imooc.collection;

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

public class SetTest {

    public List<Course>coursesToSelect;

    private Scanner console;

    public SetTest(){
        coursesToSelect=new ArrayList<Course>();
        console=new Scanner(System.in);
    }

    //用于往CourseToSelect中添加备选课程
    public void testAdd(){
        //创建一个课程对象,并通过调用add方法,添加到备选课程List中
        Course c=new Course("1","数据结构");
        coursesToSelect.add(c);
        Course temp=(Course) coursesToSelect.get(0);
        //System.out.println("添加了一门课程"+temp.id+":"+temp.name);

        Course c1=new Course("2","C语言");
        coursesToSelect.add(0, c1);
        Course temp1=(Course) coursesToSelect.get(0);
        //System.out.println("添加一门课程:"+temp1.id+":"+temp1.name);

        Course cq=new Course("1","数据结构");
        coursesToSelect.add(cq);
        Course temp0=(Course) coursesToSelect.get(2);
        //System.out.println("添加了一门课程"+temp0.id+":"+temp0.name);

        /*Course c2=new Course("2","Test1");
        CourseToSelect.add(4, c2);*/
        Course[] course={new Course("3","离散数学"),new Course("4","汇编语言")};
        coursesToSelect.addAll(Arrays.asList(course));
        Course temp2=(Course) coursesToSelect.get(2);
        Course temp3=(Course) coursesToSelect.get(3);
        //System.out.println("添加了两门课程:"+temp2.id+":"+temp2.name+";"+temp3.id+":"+temp3.name);

        Course[] course2={new Course("5","高等数学"),new Course("6","数字逻辑")};
        coursesToSelect.addAll(2, Arrays.asList(course2));
        Course temp4=(Course) coursesToSelect.get(2);
        Course temp5=(Course) coursesToSelect.get(3);
        //System.out.println("添加了两门课程:"+temp4.id+":"+temp4.name+";"+temp5.id+":"+temp5.name);

    }

    /* * 取得List中的元素的方法
     **/
            /*public void testGet(){
                System.out.println("有如下课程待选:");
                 int size=coursesToSelect.size();
                 for (int i = 0; i < size; i++) {
                    Course cr=(Course) coursesToSelect.get(i);
                    System.out.println("课程:"+cr.id+":"+cr.name);
                }
     }
    */

/* * 通过迭代器来遍历List
 * */
    /*public void testIterator(){
        //通过集合iterator方法,取得迭代器实例
        Iterator it=coursesToSelect.iterator();
        System.out.println("有如下课程待选(通过迭代器访问):");
        while (it.hasNext()) {
            Course cr = (Course) it.next();
            System.out.println("课程:"+cr.id+":"+cr.name);
        }
    }*/

    /*测试List的contains方法*/
    public void testListContains(){
        //取得被选课程序列的第0个元素
        Course course=coursesToSelect.get(0);
        //打印输出courseToSelect    是否包含course对象
        System.out.println("取得课程"+course.name);
        System.out.println("被选课程中是否包含课程"+course.name+","+coursesToSelect.contains(course));

        //提示输入课程名称
        System.out.println("请输入课程名称");
        String name=console.next();
        //创建一个新的课程对象,ID和名称,与course对象完全一样
        Course course2=new Course();//无参构造方法
        course2.name=name;
        System.out.println("新创建课程:"+course2.name);
        System.out.println("备选课程中是否包含课程:"+course2.name+","+coursesToSelect.contains(course2));

    }

 /** 通过for each方法访问集合元素
 *
 *     */        

    /*public void testForEach(){
        System.out.println("有如下课程待选(通过 for each访问):");
        for (Object object : coursesToSelect) {
            Course cr=(Course) object;
            System.out.println("课程:"+cr.id+":"+cr.name);
        }
    }*/

    /**
     * @param argsS
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        SetTest st=new SetTest();
        st.testAdd();
        st.testListContains();

        /*st.testForEach();
        //创建一个学生对象
        Student student=new Student("1","小明");
        System.out.println("欢迎学生"+student.name+"选课");
        //创建一个Scanner对象,用来接收从键盘输入的课程ID
        Scanner console=new Scanner(System.in);
        for (int i = 0; i < 3; i++) {
                System.out.println("请输入课程ID");
                String courseId=console.next();
                for (Course cr : st.coursesToSelect) {
                    if (cr.id.equals(courseId)) {
                        student.courses.add(cr);
Set中添加某个对象,无论添加杜少次,
 * 最终只会保留一个该对象(的引用)
 * 并且,保留的是第一次添加的那一个
                        //student.courses.add(null);
                        //student.courses.add(cr);
                    }
                }
        }
        st.testForEachForSet(student);    */
    }

    /*public void testForEachForSet(Student student){
        //打印输出,学生所选的课程
        System.out.println("共选择了"+student.courses.size()+"门课程!");
        for(Course cr:student.courses){
            System.out.println("选择了课程"+cr.id+":"+"cr.name");

        }

    }*/
}

测试

package com.imooc.collection;

/*
 * 课程类
 * */
public class Course {
    public String id;
    public String name;

    public Course(String id, String name) {
        this.id = id;
        this.name = name;
    }

    public Course() {

    }

    //重写某个类的     equals方法来判断模板
    @Override
    public boolean equals(Object obj) {

        if (this == obj) {
            return true;
        }

        if (obj == null) {
            return false;
        }

        if (!(obj instanceof Course)) {
            return false;
        }

        Course course = (Course) obj;
        if (this.name == null) {
            if (course.name == null) {
                return true;
            } else {
                return false;
            }
        } else {
            if (this.name.equals(course.name)) {
                return true;
            } else {
                return false;
            }

        }

    }

}

运行结果为:

  • 学生选课——判断Set中课程是否存在

                                                                          图片(1)

                                                                                图片(2)

package com.imooc.collection;

/*
 * 课程类
 * */
public class Course {
    public String id;
    public String name;

    public Course(String id, String name) {
        this.id = id;
        this.name = name;
    }

    public Course() {

    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((name == null) ? 0 : name.hashCode());
        return result;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (!(obj instanceof Course))
            return false;
        Course other = (Course) obj;
        if (name == null) {
            if (other.name != null)
                return false;
        } else if (!name.equals(other.name))
            return false;
        return true;
    }

}
package com.imooc.collection;

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

public class SetTest {

    public List<Course>coursesToSelect;

    private Scanner console;
    public Student student;
    public SetTest(){
        coursesToSelect=new ArrayList<Course>();
        console=new Scanner(System.in);
    }

    //用于往CourseToSelect中添加备选课程
    public void testAdd(){
        //创建一个课程对象,并通过调用add方法,添加到备选课程List中
        Course c=new Course("1","数据结构");
        coursesToSelect.add(c);
        Course temp=(Course) coursesToSelect.get(0);
        //System.out.println("添加了一门课程"+temp.id+":"+temp.name);

        Course c1=new Course("2","C语言");
        coursesToSelect.add(0, c1);
        Course temp1=(Course) coursesToSelect.get(0);
        //System.out.println("添加一门课程:"+temp1.id+":"+temp1.name);

        Course cq=new Course("1","数据结构");
        coursesToSelect.add(cq);
        Course temp0=(Course) coursesToSelect.get(2);
        //System.out.println("添加了一门课程"+temp0.id+":"+temp0.name);

        /*Course c2=new Course("2","Test1");
        CourseToSelect.add(4, c2);*/
        Course[] course={new Course("3","离散数学"),new Course("4","汇编语言")};
        coursesToSelect.addAll(Arrays.asList(course));
        Course temp2=(Course) coursesToSelect.get(2);
        Course temp3=(Course) coursesToSelect.get(3);
        //System.out.println("添加了两门课程:"+temp2.id+":"+temp2.name+";"+temp3.id+":"+temp3.name);

        Course[] course2={new Course("5","高等数学"),new Course("6","数字逻辑")};
        coursesToSelect.addAll(2, Arrays.asList(course2));
        Course temp4=(Course) coursesToSelect.get(2);
        Course temp5=(Course) coursesToSelect.get(3);
        //System.out.println("添加了两门课程:"+temp4.id+":"+temp4.name+";"+temp5.id+":"+temp5.name);

    }

    /* * 取得List中的元素的方法
     **/
            /*public void testGet(){
                System.out.println("有如下课程待选:");
                 int size=coursesToSelect.size();
                 for (int i = 0; i < size; i++) {
                    Course cr=(Course) coursesToSelect.get(i);
                    System.out.println("课程:"+cr.id+":"+cr.name);
                }
     }
    */

/* * 通过迭代器来遍历List
 * */
    /*public void testIterator(){
        //通过集合iterator方法,取得迭代器实例
        Iterator it=coursesToSelect.iterator();
        System.out.println("有如下课程待选(通过迭代器访问):");
        while (it.hasNext()) {
            Course cr = (Course) it.next();
            System.out.println("课程:"+cr.id+":"+cr.name);
        }
    }
    */

    /*测试List的contains方法*/
    /*public void testListContains(){
        //取得被选课程序列的第0个元素
        Course course=coursesToSelect.get(0);
        //打印输出courseToSelect    是否包含course对象
        System.out.println("取得课程"+course.name);
        System.out.println("被选课程中是否包含课程"+course.name+","+coursesToSelect.contains(course));

        //提示输入课程名称
        System.out.println("请输入课程名称");
        String name=console.next();
        //创建一个新的课程对象,ID和名称,与course对象完全一样
        Course course2=new Course();//无参构造方法
        course2.name=name;
        System.out.println("新创建课程:"+course2.name);
        System.out.println("备选课程中是否包含课程:"+course2.name+","+coursesToSelect.contains(course2));

    }
    */

    /** 通过for each方法访问集合元素
     *
     *     */        

        public void testForEach(){
            System.out.println("有如下课程待选(通过 for each访问):");
            for (Object object : coursesToSelect) {
                Course cr=(Course) object;
                System.out.println("课程:"+cr.id+":"+cr.name);
            }
        }

//创建学生对象并选课
    public void createStudentAndSelectCours() {
        // 创建一个学生对象
        student = new Student("1", "小明");
        System.out.println("欢迎学生" + student.name + "选课");
        // 创建一个Scanner对象,用来接收从键盘输入的课程ID
        Scanner console = new Scanner(System.in);
        for (int i = 0; i < 3; i++) {
            System.out.println("请输入课程ID");
            String courseId = console.next();
            for (Course cr : coursesToSelect) {
                if (cr.id.equals(courseId)) {
                    student.courses.add(cr);
                }
            }
        }

    }

    /*测试Set的contains方法*/
    public void testSetContains() {
        // 提示输入课程名称
        System.out.println("请输入课程名称");
        String name = console.next();
        // 创建一个新的课程对象,ID和名称,与course对象完全一样
        Course course2 = new Course();// 无参构造方法
        course2.name = name;
        System.out.println("新创建课程:" + course2.name);
        System.out.println("备选课程中是否包含课程:" + course2.name + ","
                + student.courses.contains(course2));

    }

    /**
     * @param argsS
     */
public static void main(String[] args) {
        // TODO Auto-generated method stub
        SetTest st=new SetTest();
        st.testAdd();
        //st.testListContains();
        st.createStudentAndSelectCours();
        st.testSetContains();
        /*st.testGet();
        st.testIterator();*/

        st.testForEach();
        //创建一个学生对象
        /*Student student=new Student("1","小明");
        System.out.println("欢迎学生"+student.name+"选课");
        //创建一个Scanner对象,用来接收从键盘输入的课程ID
        Scanner console=new Scanner(System.in);
        for (int i = 0; i < 3; i++) {
                System.out.println("请输入课程ID");
                String courseId=console.next();
                for (Course cr : st.coursesToSelect) {
                    if (cr.id.equals(courseId)) {
                        student.courses.add(cr);
Set中添加某个对象,无论添加杜少次,
 * 最终只会保留一个该对象(的引用)
 * 并且,保留的是第一次添加的那一个
                        //student.courses.add(null);
                        //student.courses.add(cr);
                    }
                }
        }
        st.testForEachForSet(student);    */
    }

    /*public void testForEachForSet(Student student){
        //打印输出,学生所选的课程
        System.out.println("共选择了"+student.courses.size()+"门课程!");
        for(Course cr:student.courses){
            System.out.println("选择了课程"+cr.id+":"+"cr.name");

        }

    }*/
}

运行结果为:

  • 学生选课——获取List中课程的位置

package com.imooc.collection;

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

public class SetTest {

    public List<Course>coursesToSelect;

    private Scanner console;
    public Student student;
    public SetTest(){
        coursesToSelect=new ArrayList<Course>();
        console=new Scanner(System.in);
    }

    //用于往CourseToSelect中添加备选课程
    public void testAdd(){
        //创建一个课程对象,并通过调用add方法,添加到备选课程List中
        Course c=new Course("1","数据结构");
        coursesToSelect.add(c);
        Course temp=(Course) coursesToSelect.get(0);
        //System.out.println("添加了一门课程"+temp.id+":"+temp.name);

        Course c1=new Course("2","C语言");
        coursesToSelect.add(0, c1);
        Course temp1=(Course) coursesToSelect.get(0);
        //System.out.println("添加一门课程:"+temp1.id+":"+temp1.name);

        Course cq=new Course("1","数据结构");
        coursesToSelect.add(cq);
        Course temp0=(Course) coursesToSelect.get(2);
        //System.out.println("添加了一门课程"+temp0.id+":"+temp0.name);

        /*Course c2=new Course("2","Test1");
        CourseToSelect.add(4, c2);*/
        Course[] course={new Course("3","离散数学"),new Course("4","汇编语言")};
        coursesToSelect.addAll(Arrays.asList(course));
        Course temp2=(Course) coursesToSelect.get(2);
        Course temp3=(Course) coursesToSelect.get(3);
        //System.out.println("添加了两门课程:"+temp2.id+":"+temp2.name+";"+temp3.id+":"+temp3.name);

        Course[] course2={new Course("5","高等数学"),new Course("6","数字逻辑")};
        coursesToSelect.addAll(2, Arrays.asList(course2));
        Course temp4=(Course) coursesToSelect.get(2);
        Course temp5=(Course) coursesToSelect.get(3);
        //System.out.println("添加了两门课程:"+temp4.id+":"+temp4.name+";"+temp5.id+":"+temp5.name);

    }

    /* * 取得List中的元素的方法
     **/
            /*public void testGet(){
                System.out.println("有如下课程待选:");
                 int size=coursesToSelect.size();
                 for (int i = 0; i < size; i++) {
                    Course cr=(Course) coursesToSelect.get(i);
                    System.out.println("课程:"+cr.id+":"+cr.name);
                }
     }
    */

/* * 通过迭代器来遍历List
 * */
    /*public void testIterator(){
        //通过集合iterator方法,取得迭代器实例
        Iterator it=coursesToSelect.iterator();
        System.out.println("有如下课程待选(通过迭代器访问):");
        while (it.hasNext()) {
            Course cr = (Course) it.next();
            System.out.println("课程:"+cr.id+":"+cr.name);
        }
    }
    */

    /*测试List的contains方法*/
    public void testListContains(){
        //取得被选课程序列的第0个元素
        Course course=coursesToSelect.get(0);
        //打印输出courseToSelect    是否包含course对象
        System.out.println("取得课程"+course.name);
        System.out.println("被选课程中是否包含课程"+course.name+","+coursesToSelect.contains(course));

        //提示输入课程名称
        System.out.println("请输入课程名称");
        String name=console.next();
        //创建一个新的课程对象,ID和名称,与course对象完全一样
        Course course2=new Course();//无参构造方法
        course2.name=name;
        System.out.println("新创建课程:"+course2.name);
        System.out.println("备选课程中是否包含课程:"+course2.name+","+coursesToSelect.contains(course2));

        //通过indexOf方法来取得某元素的索引位置
        if (coursesToSelect.contains(course2)) {
            System.out.println("课程:"+course2.name+"的索引位置为:"+coursesToSelect.indexOf(course2));
        }
    }

    /** 通过for each方法访问集合元素
     *
     *     */        

        public void testForEach(){
            System.out.println("有如下课程待选(通过 for each访问):");
            for (Object object : coursesToSelect) {
                Course cr=(Course) object;
                System.out.println("课程:"+cr.id+":"+cr.name);
            }
        }

//创建学生对象并选课
    /*public void createStudentAndSelectCours() {
        // 创建一个学生对象
        student = new Student("1", "小明");
        System.out.println("欢迎学生" + student.name + "选课");
        // 创建一个Scanner对象,用来接收从键盘输入的课程ID
        Scanner console = new Scanner(System.in);
        for (int i = 0; i < 3; i++) {
            System.out.println("请输入课程ID");
            String courseId = console.next();
            for (Course cr : coursesToSelect) {
                if (cr.id.equals(courseId)) {
                    student.courses.add(cr);
                }
            }
        }

    }*/

    /*测试Set的contains方法*/
    /*public void testSetContains() {
        // 提示输入课程名称
        System.out.println("请输入课程名称");
        String name = console.next();
        // 创建一个新的课程对象,ID和名称,与course对象完全一样
        Course course2 = new Course();// 无参构造方法
        course2.name = name;
        System.out.println("新创建课程:" + course2.name);
        System.out.println("备选课程中是否包含课程:" + course2.name + ","
                + student.courses.contains(course2));

    }
    */

    /**
     * @param argsS
     */
public static void main(String[] args) {
        // TODO Auto-generated method stub
        SetTest st=new SetTest();
        st.testAdd();
        st.testListContains();
        //st.createStudentAndSelectCours();
        //st.testSetContains();
        /*st.testGet();
        st.testIterator();*/

        st.testForEach();
        //创建一个学生对象
        /*Student student=new Student("1","小明");
        System.out.println("欢迎学生"+student.name+"选课");
        //创建一个Scanner对象,用来接收从键盘输入的课程ID
        Scanner console=new Scanner(System.in);
        for (int i = 0; i < 3; i++) {
                System.out.println("请输入课程ID");
                String courseId=console.next();
                for (Course cr : st.coursesToSelect) {
                    if (cr.id.equals(courseId)) {
                        student.courses.add(cr);
Set中添加某个对象,无论添加杜少次,
 * 最终只会保留一个该对象(的引用)
 * 并且,保留的是第一次添加的那一个
                        //student.courses.add(null);
                        //student.courses.add(cr);
                    }
                }
        }
        st.testForEachForSet(student);    */
    }

    /*public void testForEachForSet(Student student){
        //打印输出,学生所选的课程
        System.out.println("共选择了"+student.courses.size()+"门课程!");
        for(Course cr:student.courses){
            System.out.println("选择了课程"+cr.id+":"+"cr.name");

        }

    }*/
}

运行结果为:

  • 学生选课——判断Map中是否包含指定的key和value
package com.imooc.collection;
/*
 * 学生类
 * */
import java.util.HashSet;
import java.util.Set;

public class Student {
    public String id;
    public String name;
    public Set <Course>courses;//泛型<Course>
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((name == null) ? 0 : name.hashCode());
        return result;
    }
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (!(obj instanceof Student))
            return false;
        Student other = (Student) obj;
        if (name == null) {
            if (other.name != null)
                return false;
        } else if (!name.equals(other.name))
            return false;
        return true;
    }
    public Student(String id,String name){
        this.id=id;
        this.name=name;
        this.courses=new HashSet<Course>();
    }

}
    
package com.imooc.collection;
/*
 * 学生类
 * */
import java.util.HashSet;
import java.util.Set;

public class Student {
    public String id;
    public String name;
    public Set <Course>courses;//泛型<Course>
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((name == null) ? 0 : name.hashCode());
        return result;
    }
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (!(obj instanceof Student))
            return false;
        Student other = (Student) obj;
        if (name == null) {
            if (other.name != null)
                return false;
        } else if (!name.equals(other.name))
            return false;
        return true;
    }
    public Student(String id,String name){
        this.id=id;
        this.name=name;
        this.courses=new HashSet<Course>();
    }

}
    
package com.imooc.collection;

import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Scanner;
import java.util.Set;

public class MapTest {
    //用来承装学生类型对象
    public Map<String,Student>students;
    /*在构造器中初始化students属性*/
    public MapTest(){
        this.students=new HashMap<String,Student>();
    }
    /**
     * 测试添加:输入学生ID,判断是否被占用
     * 若薇被占用,则输入姓名,创建新学生对象,并且
     * 添加到student中
     */
    public void testPut(){
        Scanner console=new Scanner(System.in);
        int i=0;
        while (i<3) {
            System.out.println("请输入学生ID");
            String ID=console.next();
            Student st=students.get(ID);
            if (st==null) {
                //提示输入学生姓名
                System.out.println("请输入学生姓名");
                String name=console.next();
                //添加新的学生对象
                Student newStudent=new Student(ID,name);
                students.put(ID,newStudent);
                System.out.println("成功添加学生:"+students.get(ID).name);
                i++;
            }else{
                System.out.println("该学生ID已被占用");
                continue;
            }
        }
    }
    /**
     * @param args测试Map的keySet方法
     */

    public void testKeySet(){
        //keySet方法,返回Map中的所有“键”的Set集合
        Set<String> keySet=students.keySet();
        //取得student的容量
        System.out.println("总共有:"+students.size()+"个学生");
        //遍历keySet,取得每一个键,再调用get方法取得每个键对应的value
        for (String stuId : keySet) {
            Student st=students.get(stuId);
            if (st!=null) {
                System.out.println("学生"+st.name);
            } 

        }
    }

    /**
     * 测试删除Map中的映射
     */
    public void testRemove(){

        //获取从键盘输入待删除学生ID字符串
        Scanner console=new Scanner(System.in);
        while (true) {
            //提示输入待删除的学生ID
            System.out.println("请输入要删除的学生ID");
            String ID=console.next();
            //判断该ID是否有对应的学生对象
            Student st=students.get(ID);
            if (st==null) {
                //提示输入的ID并不存在
                System.out.println("该ID不存在");
                continue;
            }
            students.remove(ID);
            System.out.println("成功删除学生"+st.name);
            break;
        }
    }
    /**
     * 通过entrySet方法来遍历Map
     */
    public void testEntrySet(){
        //通过entrySet方法,返回Map中的所有键值对
        Set<Entry<String,Student>> entrySet=students.entrySet();
        for (Entry<String, Student> entry : entrySet) {
            System.out.println("取得键"+entry.getKey());
            System.out.println("对应的职为:"+entry.getValue().name);
        }
    }

    /**
     * 利用put方法修改Map中的已有映射
     */
    public void testModify(){
        //提示输入要修改的学生ID
        System.out.println("请输入要修改的学生ID:");
        //创建Scanner对象,去获取从键盘上输入的学生ID字符串
        Scanner console=new Scanner(System.in);
        while(true){
            //取得从键盘上输入的学生ID
            String stuID=console.next();
            //从students中查找该学生ID对应的学生对象
            Student student=students.get(stuID);
            if (student==null) {
                System.out.println("该ID不存在,重新输入!");
                continue;
            }
            //提示当前对应的学生对象的姓名
            System.out.println("当前该学生ID,所对应的学生为:"+student.name);
            //提示输入新的学生姓名,来修改已有的映射
            System.out.println("请输入新的学生姓名");
            String name=console.next();
            Student newStudent=new Student(stuID,name);
            students.put(stuID,newStudent);
            System.out.println("修改成功!");
            break;
        }
    }

    /**
     * 测试Map中,是否包含某个key值或者某个value值
     * 用containsValue()方法,来判断是否包含某个value值
     */
    public void testContainsKeyOrValue(){
        //提示输入学生id
        System.out.println("请输入要查询的学生ID");
        Scanner console=new Scanner(System.in);
        String id=console.next();
        //在Map中,用containsKey()方法,来判断是否包含某个key值
        System.out.println("您输入的学生ID为:"+id+"在学生映射表中是否存在:"+students.containsKey(id));
        if (students.containsKey(id)) {
            System.out.println("对应的学生为:"+students.get(id).name);
        }

        //提示输入学生姓名
        System.out.println("请输入要查询的学生姓名:");
        String name=console.next();
        //用containsValue()方法,来判断是否包含某个Value值
        if (students.containsValue(new Student(null,name))) {
            System.out.println("在学生映射表中,确实包含学生:"+name);
        }else{
            System.out.println("在学生映射表中不存在该学生!");
        }
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        MapTest mt=new MapTest();
        mt.testPut();
        mt.testKeySet();
        /*mt.testRemove();
        mt.testEntrySet();*/
        /*mt.testModify();
        mt.testEntrySet();*/
        mt.testContainsKeyOrValue();
    }

}

运行结果为:

请输入学生ID
1
请输入学生姓名
小明
成功添加学生:小明
请输入学生ID
2
请输入学生姓名
小红
成功添加学生:小红
请输入学生ID
3
请输入学生姓名
小兰
成功添加学生:小兰
总共有:3个学生
学生小兰
学生小红
学生小明
请输入要查询的学生ID
2
您输入的学生ID为:2在学生映射表中是否存在:true
对应的学生为:小红
请输入要查询的学生姓名:
小红
在学生映射表中,确实包含学生:小红
  • 应用Collection.sort()实现List排序

Arrays类( java.util.Arrays)

Collections工具类(java.util.Collections)

是Java集合框架中,用来操作集合对象的工具类也是Java集合框架的成员

sort() (排序)方法

package com.imooc.collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;

/**
 *将要完成:
 *1.通过Collections.sort()方法,对Integer泛型的List进行排序;
 *2.对String泛型的List进行排序
 *3.对其他类型泛型的List进行排序,以student为例。
 */
public class CollectionsTest {

    /**
     *1. 通过Collections.sort()方法,对Integer泛型的List进行排序;
     * 创建一个Integer泛型的List,插入十个100以内的不重复随机整数,
     * 调用Collections.sort()方法对其进行排序
     */
    public void testSort1(){
        List<Integer> integerList=new ArrayList<Integer>();
        //插入十个100以内的不重复随机整数
        Random random=new Random();
        Integer k;
        for (int i = 0; i < 10; i++) {
            do{
                k=random.nextInt(100);
            }while(integerList.contains(k));
            integerList.add(k);
            System.out.println("成功添加整数:"+k);
        }
        System.out.println("----------排序之前-----------");
        for (Integer integer : integerList) {
            System.out.println("元素:"+integer);
        }
        Collections.sort(integerList);
        System.out.println("-----------排序之后-----------");
        for (Integer integer : integerList) {
            System.out.println("元素:"+integer);
        }
    }

    /*
     *2.对String泛型的List进行排序
     *创建String泛型的List,添加三个乱序的String元素
     *调用sort()方法,再次输出排序后的顺序
     */
    public void testSort2(){
        List<String> list=new ArrayList<String>();
        list.add("microsoft");
        list.add("google");
        list.add("lenovo");
        System.out.println("-----------排序前--------");
        for (String string : list) {
            System.out.println("元素:"+string);
        }
        Collections.sort(list);
        System.out.println("------排序后-------");
        for (String string : list) {
            System.out.println("元素:"+string);
        }
    }

    public static void main(String[] args) {
        CollectionsTest co=new CollectionsTest();
        //co.testSort1();
        co.testSort2();
    }

}

运行结果:

  • 学生选课——尝试对学生序列排序
  • Comparable & Comparator简介

Comparable------默认比较规则

Comparator------临时比较规则

Comparable接口——可比较的

  1. 实现该接口表示:这个类的实例可以比较大小,可以进行自然排序
  2. 定义了默认的比较规则
  3. 其实现类需实现comparaTo()方法
  4. comparaTo()方法返回正数表示大,负数表示小,0表示相等

Comparator接口——比较工具接口

  1. 用于定义临时比较规则,而不是默认比较规则
  2. 其实现类需要实现Compare()方法
  3. Comparator和Comparable都是Java集合框架的成员

  • 学生选课——实现学生序列排序
package com.imooc.collection;
/*
 * 学生类
 * */
import java.util.HashSet;
import java.util.Set;

public class Student implements Comparable<Student>{
    public String id;
    public String name;
    public Set <Course>courses;//泛型<Course>

    @Override
    public int compareTo(Student o) {
        // TODO Auto-generated method stub
        return this.id.compareTo(o.id);
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((name == null) ? 0 : name.hashCode());
        return result;
    }
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (!(obj instanceof Student))
            return false;
        Student other = (Student) obj;
        if (name == null) {
            if (other.name != null)
                return false;
        } else if (!name.equals(other.name))
            return false;
        return true;
    }
    public Student(String id,String name){
        this.id=id;
        this.name=name;
        this.courses=new HashSet<Course>();
    }

}
    
package com.imooc.collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;

/**
 *将要完成:
 *1.通过Collections.sort()方法,对Integer泛型的List进行排序;
 *2.对String泛型的List进行排序
 *3.对其他类型泛型的List进行排序,以student为例。
 */
public class CollectionsTest {

    /**
     *1. 通过Collections.sort()方法,对Integer泛型的List进行排序;
     * 创建一个Integer泛型的List,插入十个100以内的不重复随机整数,
     * 调用Collections.sort()方法对其进行排序
     */
    /*public void testSort1(){
        List<Integer> integerList=new ArrayList<Integer>();
        //插入十个100以内的不重复随机整数
        Random random=new Random();
        Integer k;
        for (int i = 0; i < 10; i++) {
            do{
                k=random.nextInt(100);
            }while(integerList.contains(k));
            integerList.add(k);
            System.out.println("成功添加整数:"+k);
        }
        System.out.println("----------排序之前-----------");
        for (Integer integer : integerList) {
            System.out.println("元素:"+integer);
        }
        Collections.sort(integerList);
        System.out.println("-----------排序之后-----------");
        for (Integer integer : integerList) {
            System.out.println("元素:"+integer);
        }
    }*/

    /*
     *2.对String泛型的List进行排序
     *创建String泛型的List,添加三个乱序的String元素
     *调用sort()方法,再次输出排序后的顺序
     */
    /*public void testSort2(){
        List<String> list=new ArrayList<String>();
        list.add("microsoft");
        list.add("google");
        list.add("lenovo");
        System.out.println("-----------排序前--------");
        for (String string : list) {
            System.out.println("元素:"+string);
        }
        Collections.sort(list);
        System.out.println("------排序后-------");
        for (String string : list) {
            System.out.println("元素:"+string);
        }
    }
    */

    /**
     * 3.对其他类型泛型的List进行排序,以student为例。
     *
     * */
    public void testSort3(){
        List<Student> studentList=new ArrayList<Student>();
        Random random=new Random();
        studentList.add(new Student(random.nextInt(1000)+"","Mike"));
        studentList.add(new Student(random.nextInt(1000)+"","Angela"));
        studentList.add(new Student(random.nextInt(1000)+"","Lucy"));
        studentList.add(new Student(1000+"","Beyonc"));
        System.out.println("----------排序前------------");
        for (Student student : studentList) {
            System.out.println("学生:"+student.id+":"+student.name);
        }
        Collections.sort(studentList);
        System.out.println();
        System.out.println("----------排序后-----------");
        for (Student student : studentList) {
            System.out.println("学生"+student.id+":"+student.name);
        }
    }

    public static void main(String[] args) {
        CollectionsTest co=new CollectionsTest();
        //co.testSort1();
        //co.testSort2();
        co.testSort3();
    }

}

运行结果:

package com.imooc.collection;

import java.util.Comparator;

public class StudentComparator implements Comparator<Student> {

    @Override
    public int compare(Student o1, Student o2) {
        // TODO Auto-generated method stub

        return o1.name.compareTo(o2.name);
    }

}
package com.imooc.collection;
/*
 * 学生类
 * */
import java.util.HashSet;
import java.util.Set;

public class Student implements Comparable<Student>{
    public String id;
    public String name;
    public Set <Course>courses;//泛型<Course>

    @Override
    public int compareTo(Student o) {
        // TODO Auto-generated method stub
        return this.id.compareTo(o.id);
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((name == null) ? 0 : name.hashCode());
        return result;
    }
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (!(obj instanceof Student))
            return false;
        Student other = (Student) obj;
        if (name == null) {
            if (other.name != null)
                return false;
        } else if (!name.equals(other.name))
            return false;
        return true;
    }
    public Student(String id,String name){
        this.id=id;
        this.name=name;
        this.courses=new HashSet<Course>();
    }

}
    
package com.imooc.collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;

/**
 *将要完成:
 *1.通过Collections.sort()方法,对Integer泛型的List进行排序;
 *2.对String泛型的List进行排序
 *3.对其他类型泛型的List进行排序,以student为例。
 */
public class CollectionsTest {

    /**
     *1. 通过Collections.sort()方法,对Integer泛型的List进行排序;
     * 创建一个Integer泛型的List,插入十个100以内的不重复随机整数,
     * 调用Collections.sort()方法对其进行排序
     */
    /*public void testSort1(){
        List<Integer> integerList=new ArrayList<Integer>();
        //插入十个100以内的不重复随机整数
        Random random=new Random();
        Integer k;
        for (int i = 0; i < 10; i++) {
            do{
                k=random.nextInt(100);
            }while(integerList.contains(k));
            integerList.add(k);
            System.out.println("成功添加整数:"+k);
        }
        System.out.println("----------排序之前-----------");
        for (Integer integer : integerList) {
            System.out.println("元素:"+integer);
        }
        Collections.sort(integerList);
        System.out.println("-----------排序之后-----------");
        for (Integer integer : integerList) {
            System.out.println("元素:"+integer);
        }
    }*/

    /*
     *2.对String泛型的List进行排序
     *创建String泛型的List,添加三个乱序的String元素
     *调用sort()方法,再次输出排序后的顺序
     */
    /*public void testSort2(){
        List<String> list=new ArrayList<String>();
        list.add("microsoft");
        list.add("google");
        list.add("lenovo");
        System.out.println("-----------排序前--------");
        for (String string : list) {
            System.out.println("元素:"+string);
        }
        Collections.sort(list);
        System.out.println("------排序后-------");
        for (String string : list) {
            System.out.println("元素:"+string);
        }
    }
    */

    /**
     * 3.对其他类型泛型的List进行排序,以student为例。
     *
     * */
    public void testSort3(){
        List<Student> studentList=new ArrayList<Student>();
        Random random=new Random();
        studentList.add(new Student(random.nextInt(1000)+"","Mike"));
        studentList.add(new Student(random.nextInt(1000)+"","Angela"));
        studentList.add(new Student(random.nextInt(1000)+"","Lucy"));
        studentList.add(new Student(1000+"","Beyonc"));
        System.out.println("----------排序前------------");
        for (Student student : studentList) {
            System.out.println("学生:"+student.id+":"+student.name);
        }
        Collections.sort(studentList);
        System.out.println();
        System.out.println("----------排序后-----------");
        for (Student student : studentList) {
            System.out.println("学生"+student.id+":"+student.name);
        }

        Collections.sort(studentList,new StudentComparator());
        System.out.println("---------按照姓名排序后---------");
        for (Student student : studentList) {
            System.out.println("学生"+student.id+":"+student.name);
        }
    }

    public static void main(String[] args) {
        CollectionsTest co=new CollectionsTest();
        //co.testSort1();
        //co.testSort2();
        co.testSort3();
    }

}

运行结果为:

Java中的集合框架(下)的更多相关文章

  1. 菜鸟日记之 java中的集合框架

    java中的集合框架图 如图所示:java中的集合分为两种Collection和Map两种接口 可分为Collection是单列集合和Map的双列集合 Collection单列集合:继承了Iterat ...

  2. Java中的集合框架-Collection(二)

    上一篇<Java中的集合框架-Collection(一)>把Java集合框架中的Collection与List及其常用实现类的功能大致记录了一下,本篇接着记录Collection的另一个子 ...

  3. Java中的集合框架(上)

    Java中的集合框架概述 集合的概念: Java中的集合类:是一种工具类,就像是容器,存储任意数量的具有共同属性的对象. 集合的作用: 1.在类的内部,对数据进行组织: 2.简单的快速的搜索大数据量的 ...

  4. Java中的集合框架-Collections和Arrays

    上一篇<Java中的集合框架-Map>把集合框架中的键值对容器Map中常用的知识记录了一下,本节记录一下集合框架的两个工具类Collections和Arrays 一,Collections ...

  5. Java中的集合框架-Map

    前两篇<Java中的集合框架-Commection(一)>和<Java中的集合框架-Commection(二)>把集合框架中的Collection开发常用知识点作了一下记录,从 ...

  6. Java中的集合框架

    概念与作用 集合概念 现实生活中:很多事物凑在一起 数学中的集合:具有共同属性的事物的总体 java中的集合类:是一种工具类,就像是容器,储存任意数量的具有共同属性的对象 在编程时,常常需要集中存放多 ...

  7. Java中的集合框架-Collection(一)

    一,Collection接口 在日常的开发工作中,我们经常使用数组,但是数组是有很多的局限性的,比如:数组大小固定后不可修改,只能存储基本类型的值等等. 基于数组的这些局限性,Java框架就产生了用于 ...

  8. JAVA 中的集合框架

    java集合框架提供了一套性能优良.使用方便的接口和类,它们位于java.util包中 一.集合与数组 数组:(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知 ...

  9. Java学习--java中的集合框架、Collection接口、list接口

    与数组相比:1.数组的长度固定,而集合的长度可变2.数组只能通过下表访问元素,类型固定,而有的集合可以通过任意类型查找所映射的具体对象 java集合框架:collection(list序列,queue ...

随机推荐

  1. Tuxedo:Tuxedo支持的分布式通信方式

    1.RPC:用于远程方法调用.Java中类似的技术有EJB.WebService 2.Conversaction:交流.Java中类似的有JDBC. 3.Message Notification:消息 ...

  2. Oracle JDBC:驱动版本区别与区分 [转]

    classes12.jar,ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别,之间的差异 在使用Oracle JDBC驱动时,有些问题你是不是通过替换不同版本的Oracle  ...

  3. docker学习笔记(一)

    docker是一种容器技术,现在火的一塌糊涂,最近公司打算用docker统一开发.测试.预上线.上线环境,所以花了时间研究一下. docker是一种容器技术,之前是基于LXC容器,现在已经改成基于li ...

  4. git学习笔记5-撤销操作

    git撤销有四种情况,一是没有commit,想恢复所有文件:二是没有commit,想恢复全部文件:三是已经commit了,想恢复某个版本:四是本地已经提交了,想从远程库恢复. 1. 没有commit, ...

  5. JaveScript运算符(JS知识点归纳三)

    JaveScript中有许多的运算符,在这里就只说明一些需要注意的. 01 一元运算符 一元:指的是参与运算的操作数只有一个 最经常使用的是++   -- 计算规则: ++/-- 前置于操作数的时候 ...

  6. Android 环境搭建、基础窗口window/Mac

    1.五步搞定Android开发环境部署--非常详细的Android开发环境搭建教程 2.Android开发学习之路--MAC下Android Studio开发环境搭建 4.Android常用开发工具以 ...

  7. iOS控制器跳转动画

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 MyViewController *myVC = [[MyViewController alloc]init];  //创建动画  C ...

  8. Git常用命令清单笔记

    git github 小弟调调 2015年01月12日发布 赞  |   6收藏  |  45 5k 次浏览 这里是我的笔记,记录一些git常用和一些记不住的命令,这个笔记原本是基于 颜海镜的文章增加 ...

  9. bzoj 1492: [NOI2007]货币兑换Cash

    Description 小Y最近在一家金券交易所工作.该金券交易所只发行交易两种金券:A纪念券(以下简称A券)和 B纪念券(以下 简称B券).每个持有金券的顾客都有一个自己的帐户.金券的数目可以是一个 ...

  10. ioutil包二

    ioutil包二 (原创随笔,转载请注明出处 http://www.cnblogs.com/majianguo/p/8016426.html) ioutil包实现了一些I/O实用功能,导出了7个函数和 ...