Iterator&Map&List&LinkedHashMap&普通for循环&增强for循环&bean

博主老早就想总结一下,但是迫于没时间,感觉只是给自己找借口,但是现在花了一上午,终于整理好了,而且注释比较详细,废话不多说,现在上代码:

首先,博主自定义了一个bean类,为了测试自定义的那个list

这个bean里面博主把常用的类型基本都用了,但是不建议大家定义的时候使用float,真心很麻烦

另外就是get/set这一块,注意boolean类型是is和set,不是get,这个大家注意下

package cn.edu.sjzc.weiaccept.bean;

/**
 * Created by fanyafeng on 2015/5/8/0008.
 */
public class FanyafengBean implements Comparable{
    private int Age;
    private long Height;
    private float Phone;
    private double hair;
    private String Name;
    private boolean Sex;

    public FanyafengBean(int age, long height, float phone, double hair, String name, boolean sex) {
        Age = age;
        Height = height;
        Phone = phone;
        this.hair = hair;
        Name = name;
        Sex = sex;
    }

    public int getAge() {
        return Age;
    }

    public void setAge(int age) {
        Age = age;
    }

    public long getHeight() {
        return Height;
    }

    public void setHeight(long height) {
        Height = height;
    }

    public float getPhone() {
        return Phone;
    }

    public void setPhone(float phone) {
        Phone = phone;
    }

    public double getHair() {
        return hair;
    }

    public void setHair(double hair) {
        this.hair = hair;
    }

    public String getName() {
        return Name;
    }

    public void setName(String name) {
        Name = name;
    }

    public boolean isSex() {
        return Sex;
    }

    public void setSex(boolean sex) {
        Sex = sex;
    }

    @Override
    public String toString() {
        return "FanyafengBean{" +
                "Age=" + Age +
                ", Height=" + Height +
                ", Phone=" + Phone +
                ", hair=" + hair +
                ", Name='" + Name + '\'' +
                ", Sex=" + Sex +
                '}';
    }

    @Override
    public int compareTo(Object another) {
        return 0;
    }
}

这是博主定义的bean类,因为涉及到顺序,所以要实现一个java.lang中的comparable,详情请看

http://blog.csdn.net/qq_23195583/article/details/44174181

再有就是具体的方法的书写了:

来看第一个:

简单的int,string

private static void intOrString() {
        /**
         * 简单罗列了一下一维数组的遍历
         * int,String,
         * 一个是普通的for循环,一个是增强的for循环
         */
        int int_array[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
        for (int arrayItem : int_array) {
            System.out.print(arrayItem + ",");
        }
        System.out.println();
        System.out.println("-------------------------------------------------------------------");
        for (int i = 0; i < int_array.length; i++) {
            System.out.print(int_array[i] + ",");
        }
        System.out.println();
        System.out.println("-------------------------------------------------------------------");
        String string_array[] = {"樊亚风", "软件工程", "java", "Android", "IOS"};
        for (String arrayItem : string_array) {
            System.out.print(arrayItem + ",");
        }
        System.out.println();
        System.out.println("-------------------------------------------------------------------");
        for (int i = 0; i < string_array.length; i++) {
            System.out.print(string_array[i] + ",");
        }
        System.out.println();
        System.out.println("-------------------------------------------------------------------");
    }

第二个:

这里面包含的比较多

注释里面都有

private static void growing() {
        /**
         * 自定义一个类,里面包含了常用的类型
         */
        int Age = 0;
        long Height = 180;
        float Phone = 15530128888f;
        double hair = 3000d;
        String Name = "樊亚风";
        boolean Sex = true;
        String sex;
        List<Map<String, Object>> fanyafengList = new ArrayList<Map<String, Object>>();
        List<FanyafengBean> fanyafengBeans = new ArrayList<FanyafengBean>();
        FanyafengBean[] fanyafengBeanArray = new FanyafengBean[]{
                new FanyafengBean(Age, Height, 18032278888f, 3000d, Name, Sex),
                new FanyafengBean(22, 180, 18032278888f, hair, "樊亚风", true),
                new FanyafengBean(23, Height, 15530124556f, 3000d, Name, Sex),
                new FanyafengBean(24, 180, Phone, 2000d, "樊亚风", true)
        };

        /**
         * 增强的for循环
         */

        for (FanyafengBean fanyafengBeanItem : fanyafengBeanArray) {
            System.out.print(fanyafengBeanItem.getAge() + ",");
            System.out.print(fanyafengBeanItem.getHeight() + ",");
            System.out.print(fanyafengBeanItem.getPhone() + ",");
            System.out.print(fanyafengBeanItem.getHair() + ",");
            System.out.print(fanyafengBeanItem.getName() + ",");
            if (fanyafengBeanItem.isSex()) {
                sex = "男";
            } else {
                sex = "女";
            }
            System.out.print(sex);
            System.out.println();
        }
        System.out.println("-------------------------------------------------------------------");
        /**
         * 普通的for循环遍历
         * 以及一些list,map
         * 还有自定义类的数组
         */
        for (int i = 0; i < 4; i++) {
            FanyafengBean fanyafengBean = new FanyafengBean(Age, Height, Phone, hair, Name, Sex);
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("myage", fanyafengBeanArray[i].getAge());
            System.out.print(fanyafengBeanArray[i].getAge() + ",");
            map.put("myheight", fanyafengBeanArray[i].getHeight());
            System.out.print(fanyafengBeanArray[i].getHeight() + ",");
            map.put("myphone", fanyafengBeanArray[i].getPhone());
            System.out.print(fanyafengBeanArray[i].getPhone() + ",");
            map.put("myhair", fanyafengBeanArray[i].getHair());
            System.out.print(fanyafengBeanArray[i].getHair() + ",");
            map.put("myname", fanyafengBeanArray[i].getName());
            System.out.print(fanyafengBeanArray[i].getName() + ",");
            map.put("mysex", fanyafengBeanArray[i].isSex());
            if (fanyafengBeanArray[i].isSex()) {
                sex = "男";
            } else {
                sex = "女";
            }
            System.out.print(sex);
            System.out.println();
            fanyafengList.add(map);
        }

        Arrays.sort(fanyafengBeanArray);
        fanyafengBeans = Arrays.asList(fanyafengBeanArray);
        System.out.println(fanyafengBeans.toString());
        System.out.println("-------------------------------------------------------------------");

    }

第三个

二维数组

 private static void doubleArray() {
        /**
         * 二位数组
         */
        int darray[][] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {0}};
        for (int i = 0; i < darray.length; i++) {
            for (int j = 0; j < darray[i].length; j++) {
                System.out.print(darray[i][j]);
            }
            System.out.println();
        }
        System.out.println("-------------------------------------------------------------------");

        for (int da[] : darray) {
            for (int daItem : da) {
                System.out.print(daItem);
            }
            System.out.println();
        }
        System.out.println("-------------------------------------------------------------------");
    }

第四个:

这里面是list数组,涉及到了迭代器使用,遍历

    private static void list() {
/**
 * list数组
 * 迭代器,增强for循环
 */
        List<String> list = new ArrayList<>();
        list.add("樊亚风");
        list.add("正在学习");
        list.add("IOS");

        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()) {
            String strList = (String) iterator.next();
            System.out.println(strList);
        }
        System.out.println("\n" + "-------------------------------------------------------------------");
        for (String item : list) {
            System.out.print(item);
        }
        System.out.println();
        System.out.println("-------------------------------------------------------------------");
        for (int i = 0; i < list.size(); i++) {
            System.out.print(list.get(i));
        }
        System.out.println();
        System.out.println("-------------------------------------------------------------------");

    }

第五个

说一下网络层编写常用的

详情看注释

private static void linkmap() {
        /**
         * 这里强调必须要初始化,否则程序过不去
         * 但是在些项目的时候我很少初始化
         * 的确都是先定义
         */
        String name = "fanyafeng";
        String major = "software";
        String url = "detail";
        StringBuffer myurl = new StringBuffer(url);
        StringBuffer myurl1 = new StringBuffer(url);
        myurl.append(":");

        Map<String, String> map = new LinkedHashMap<String, String>();
        map.put("name", name);
        map.put("major", major);
        for (Map.Entry<String, String> entry : map.entrySet()) {
            myurl.append(entry.getKey()).append("=");
            myurl.append(entry.getValue());
            //网络获取切记用linkedhashmap,否则容易出问题
//            myurl.append(URLEncoder.encode(entry.getValue(), "UTF-8"));
            myurl.append("&");
        }
        myurl.deleteCharAt(myurl.length() - 1);
        System.out.print(myurl.toString());
        System.out.println("\n" + "--------------------------------------------");

        Map<String, String> map1 = new HashMap<String, String>();
        map1.put("name", name);
        map1.put("major", major);
        for (Map.Entry<String, String> entry : map1.entrySet()) {
            myurl1.append(entry.getKey()).append("=");
            myurl1.append(entry.getValue());
            myurl1.append("&");
        }
        myurl.deleteCharAt(myurl.length() - 1);
        System.out.print(myurl.toString());
        System.out.println("\n" + "--------------------------------------------");

    }

第六个

迭代器和map的使用

 private static void it() {
        /**
         * 迭代器
         */
        Map map = new HashMap();
        for (int i = 0; i < 10; i++) {
            map.put(i, new String("map" + i));
        }

        Iterator iterator=map.entrySet().iterator();
        while (iterator.hasNext()){
            Map.Entry strMap=(Map.Entry)iterator.next();
            System.out.print(strMap.getValue()+",");
        }
        System.out.println("\n"+"----------------------------------");
    }

第七个就是主方法,以及需要引入的类

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

/**
 * Created by fanyafeng on 2015/5/8/0008.
 */
public class TestClass {
    public static void main(String[] args) {
        System.out.println("测试主程序");
        System.out.println("-------------------------------------------------------------------");

        intOrString();
        growing();
        doubleArray();
        list();
        linkmap();
        it();

    }

最后是程序截图

时间: 2024-10-23 06:30:27

Iterator&Map&List&LinkedHashMap&普通for循环&增强for循环&bean的相关文章

For-Each循环~增强for循环

某人问我增强for循环是什么,其实我只是会用,所以上网查了一下,如下: For-Each循环 For-Each循环也叫增强型的for循环,或者叫foreach循环. For-Each循环是JDK5.0的新特性(其他新特性比如泛型.自动装箱等). For-Each循环的加入简化了集合的遍历. 其语法如下: for(type 变量名: array) {       System.out.println(变量名); } 例子 其基本使用可以直接看代码: 代码中首先对比了两种for循环:之后实现了用增强

Iterator迭代器与增强for循环

java中提供了很多个集合,它们在存储元素时,采用的存储方式不同.我们要取出这些集合中的元素,可通过一种通用的获取方式来完成. Collection集合元素的通用获取方式:在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有就再取出出来.一直把集合中的所有元素全部取出.这种取出方式专业术语称为迭代. 集合中把这种取元素的方式描述在Iterator接口中.Iterator接口的常用方法如下: hasNext()方法:用来判断集合中是否有下一个元素可以迭代.如果返回

如何正确遍历删除List中的元素(普通for循环、增强for循环、迭代器iterator、removeIf+方法引用)

遍历删除List中符合条件的元素主要有以下几种方法: 普通for循环 增强for循环 foreach 迭代器iterator removeIf 和 方法引用 (一行代码搞定) 其中使用普通for循环容易造成遗漏元素的问题,增强for循环foreach会报java.util.ConcurrentModificationException并发修改异常. 所以推荐使用迭代器iterator,或者JDK1.8以上使用lambda表达式进行List的遍历删除元素操作. 以下是上述几种方法的具体分析: 1.

(14)jdk1.5开始的一些新特性:静态导入,增强for循环,可变参数,自动装箱/拆箱,枚举类型

Jdk1.5新特性之静态导入 jdk1.5新特性值静态导入 静态导入的作用:简化缩写 静态导入的作用:可以作用一个类的所有静态成员. 静态导入的格式:import static 包名.类名.静态的成员 import static java.util.Collections.sort; //静态导入指定的某个静态成员方法 import static java.util.Collections.*;  导入所有的静态成员 除了可以导入静态的成员方法,也可以静态的导入成员变量,比如System.out

jdk1.5出现的新特性----&gt;增强for循环

package cn.itcast.jdk15; import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.Map;import java.util.Set; /*jdk1.5出现的新特性---->增强for循环 增强for循环的作用: 简化迭代器的书写格式.(注意:增强for循环的底层还是使用了迭代器遍历.) 增强for循环的适用范围: 如果是实现了Iterable接

增强for循环和迭代器

package example6; import java.util.ArrayList;import java.util.Iterator;import java.util.List; class foreach{/*增强for循环 * 1.语法   for(遍历出来的值:要遍历的集合){} * 运用场景:数组;实现Iterable接口可以使用增强for循环 * 在集合上使用增强for循环遍历 * list,set 都实现了Iterable接口,所以可以使用增强for循环 * map没有实现I

Java重要技术(3)语法之增强for循环

1.1. 增强for循环 增强for循环可以在某些时候简化对数组和集合的遍历.增强for循环需要集合实现了Iterable接口. public static void main(String[] args) { //遍历数组 for(String s : args){ System.out.println(s); } ArrayList<Integer> arrayList = new ArrayList<Integer>(); arrayList.add(1); arrayLis

总结for循环及for循环增强遍历数组,list,set和map

一.对于集合 (1)普通for循环 int[] arr = { 2, 1, 2 }; for(int i=0;i<arr.length;i++){ System.out.println(arr[i]); } (2)for循环增强 int[] arr = { 2, 1, 2 }; for (int i : arr) { System.out.println(i); } System.out.println("********************"); //二维数组 int []

Java Iterator和增强for循环 for each详解

Iterator是Java中的一个迭代器接口(Interface),用来提供标准的Java迭代器 Iterator支持泛型因为集合(Collection)类可以装入的类型是不确定的,从集合中取出的都是Object类型,加入泛型,就是告诉编译器确定要装入的对象类型,取值时就无需强制转换了. for each 是 Java 5 中新增的一个循环结构,本质上是一个Iterator,特点是可以用来遍历集合元素而不用考虑集合下标. 综合实例: package net.csdn.shf4715; impor