- 浏览: 1592335 次
- 来自: 上海
文章分类
- 全部博客 (374)
- Java (101)
- Struts (54)
- Oracle (30)
- JavaScript (16)
- Spring (27)
- Hibernate (16)
- MyEclipse (3)
- JSF (1)
- FreeMarker (2)
- SiteMesh (2)
- JfreeChart (2)
- Ibatis (2)
- JSP (12)
- MyBatis (4)
- SWFupload (1)
- EJB (4)
- Jboss (4)
- WebService (2)
- Linux (16)
- Android (2)
- XML (6)
- Java 网络编程 (13)
- AXIS2 (1)
- FTP (1)
- Jswing (1)
- Socket (3)
- 杂文选集 (6)
- solr (2)
- PS (1)
- Tomcat (7)
- JDBC (9)
- Highcharts (1)
- maven (1)
- Nodejs (0)
- navicat (2)
- Exception (5)
- eclipse (3)
- jQuery (1)
- springMVC (4)
- MySQL (11)
- SVN (1)
- Sql Server (1)
- zookeeper (1)
- JVM (1)
- Groovy (2)
- Git (1)
- Nginx (1)
- DynamicReport (1)
- IDEA (2)
- JasperReports (1)
- Postgresql (2)
- Mac (1)
- gradle (1)
- 数据结构算法 (1)
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
Arrays工具的使用
集合 和数组 的互转
java中的foreach
asList()
toArray()
集合 和数组 的互转
java中的foreach
asList()
toArray()
package com.itheima.day17; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; /** * Arrays:用于操作数组的工具类. * 里面都是静态方法. * asList: 将数组编程list集合 */ public class ArraysDemo { public static void main(String[] args) { System.out.println("======数组 转换成 集合====="); method_1(); System.out.println("======集合 转换成 数组 ====="); method(); System.out.println("======for循环增强====="); forEachDemo(); } /** * 高级for循环 * 格式: * for(数据类型 变量名 : 被遍历的集合(Collection)或者 数组 ) * { * * } * 对集合进行遍历只能获取元素,不能对集合进行操作. * * 迭代器Iterator:处理遍历,还可以进想remove的动作 * 如果使用ListIterator,还可以在遍历过程中 对集合进行 增删改查 的操作. * * 传统for 和高级 for 有什么区别? * 高级for有一个局限性,鼻息有被遍历的目标. */ public static void forEachDemo(){ //JDK1.5 中 增加订单 for循环增强 ArrayList<String> list =new ArrayList<String>(); list.add("aaa"); list.add("bbbb"); list.add("ccc"); list.add("dddd"); Iterator<String> it=list.iterator(); while(it.hasNext()){ System.out.println(it.next()); } //for 遍历集合 for (String s : list) { System.out.println(s); } //遍历数组 int[] arr={3,4,5,8,7}; for(int i:arr){ System.out.println("i"+i); } //传统for 和高级 for有什么区别 //将 Helloworld 输出100次这样就只能使用传统 for //建议 在遍历数组的时候 ,还是希望使用传统的for,因为传统for在遍历的时候有脚标. for(int x=0;x<arr.length;x++){ if(x%2==0) //只打印 偶数下标 System.out.println(arr[x]); } //遍历 HashMap HashMap<Integer,String> hm=new HashMap<Integer,String>(); hm.put(1, "adfs"); hm.put(2, "sfd"); hm.put(3, "dfsd"); //遍历 map的key for(Integer key:hm.keySet()){ System.out.println(key); } for(Map.Entry<Integer, String> me:hm.entrySet()){ System.out.println(me.getKey()+"----"+me.getValue()); } } /** * Collection接口中的toArray()方法. * * 1.制定类型的数组到底要定义多长呢? * 当指定的类型的数组长度小于集合的size,那么该方法内部化会创建一个新的数据,长度为集合的size * 当指定的类型的数组长度大于集合的size,就不会创建新的数组.而是使用传递进来的数组. * 所以创建一个刚刚好的数组最优. * * 2.为什么要将集合变数组? * 当为了将集合中固定点元素返回给调用者的时候,为了限定调用者不对元素的操作. * * 为了限定对元素的操作,不需要外界对集合进行增删. */ public static void method(){ ArrayList<String> list =new ArrayList<String>(); list.add("aaa"); list.add("bbbb"); list.add("ccc"); list.add("dddd"); String[] arr=list.toArray(new String[0]); System.out.println(Arrays.toString(arr)); String[] arr1=list.toArray(new String[8]); System.out.println(Arrays.toString(arr1)); //最优 String[] arr2=list.toArray(new String[list.size()]); System.out.println(Arrays.toString(arr2)); } public static void method_1(){ /** asList * 如果数组中的元素 都是对象,变成集合时候,数组中的元素就直接转成集合中的元素 * 如果数组中的元素 都是基本数据类型,那么会 将该数组作为集合中的元素存在. */ int[] arr={3,4,5}; //基本数据类型 System.out.println(Arrays.toString(arr));//[3, 4, 5] List<int[]> list1=Arrays.asList(arr); System.out.println(list1); Integer[] arri={3,4,5}; //对象 List<Integer> lis2=Arrays.asList(arri); System.out.println(lis2); /** * 将数组变成 List 集合的好处 ? * 可以是用 集合的思想和 方法来操作数组中的元素. * 注意 :将数组变成集合 后 ,不可以使用集合的增删方法 ,因为数组的长度固定的 * contains * get * indexOf() * subList() * 如果增删,会发生不支持的操作异常.UnsupportedOperationException */ String[] arrs={"ab","acb","sbd","sdfsd"}; List<String> list=Arrays.asList(arrs); System.out.println(list);//[ab, acb, sbd, sdfsd] //list.add("DD");// 会发生 不支持的操作异常 } }
发表评论
-
检测一个字符串是否在jvm的常量池中
2018-12-18 17:34 1007public static boolean inPool( ... -
UTC时间, GMT时间 ,夏令时
2017-08-18 15:12 2285经常混淆于此,特地研究了一下,记录在此以备忘。 整个地 ... -
java 反射List
2017-02-18 01:58 5663package com.enhance.reflect; ... -
JDK1.5 Exchange 两个线程互换数据
2016-08-04 18:00 1007import java.util.concurrent ... -
JDK1.5 CountDownLatch
2016-08-04 16:25 1057/* * 还有一个利用场景: ... -
java CyclicBarrier 循环障碍阻塞
2016-08-03 23:54 1014//一个同步辅助类,它允许一组线程互相等待,直到到达某个公 ... -
java 信号灯 Semaphore
2016-08-03 23:53 1828更多介绍http://blog.csdn.net/java20 ... -
java 使用读写锁设计一个缓存模型
2016-08-03 23:49 1420import java.util.HashMap; ... -
java 读写锁
2016-08-03 23:46 820import java.util.Random; i ... -
java 多个线程之间同步通信
2016-08-02 17:16 2401import java.util.concurrent ... -
jdk1.5 锁 Lock 和 Condition
2016-08-02 17:03 927// lock 练习 public class Lock ... -
JDK1.5 获取线程执行结果 Callable Future
2016-08-02 15:08 1176import java.util.Random; i ... -
JDK1.5 线程池
2016-08-02 14:48 806import java.util.concurrent ... -
java 多线程ThreadLocal
2016-08-02 00:13 1150import java.util.Random; ... -
java 定时器 Timer
2016-08-01 16:53 3897import java.util.Calendar; ... -
java 多线程同步+通信
2016-08-01 16:48 970/** *父子线程 交替打印10 次, 100次 ... -
java 线程同步
2016-08-01 16:43 1027import java.util.concurrent.l ... -
java多线程练习
2016-08-01 16:35 1843Java 传统多线程 Java 多线程同步 Java 多线 ... -
java 传统多线程
2016-08-01 16:34 1011/** * 传统多线程 */ public ... -
java 图片,剪切,缩放
2016-01-06 10:21 2234package out; import ja ...
相关推荐
《21天学通Java》是为初学者设计的一本教程,旨在帮助读者在短时间内掌握Java编程基础。这本书的第7版更新了最新的Java技术,包括Java 8及更高版本的关键特性,使得学习内容与时俱进,更适合当前的开发环境。通过21...
总结来说,了解和熟练掌握包装类、System类、Math类、Arrays类以及大数据运算的使用是成为专业Java开发者的必要条件。通过深入学习和实践这些知识,开发者能够编写出更加高效、可靠的代码,以应对各种复杂的编程挑战...
1 使用Arrays 4. 2 求质数. 4. 3 动态调整数组长度 4. 4 矩阵 4. 5 ArrayList. Vector和LinkedList 4. 6 生成不重复的随机数序列 4. 7 自定义队列 4. 8 对List排序 4. 9 HashSet. ...
5. **Java(day17).txt**:这可能是一个Java学习的第17天笔记,涵盖了更深入的主题,如高级面向对象编程、设计模式、集合框架的深入探讨、IO流或者网络编程等。 6. **Oracle02.txt、Oracle03.txt、Oracle01.txt**:...
可以使用Collections.sort()方法或者Arrays.sort()方法进行排序。类实现序列化可以通过实现Serializable接口来实现。 13. 在COLLECTION框架中,实现比较要实现什么样的接口? 要实现Comparable接口,或者在使用...
这个33天的视频教程系列,特别是第17部分,主要聚焦在Java的常用API上,包括Math类、System类以及Arrays工具类的应用。这些知识点对于任何初学者来说都是必须掌握的,因为它们在实际编程中非常常见。 首先,Math类...
- 使用`java.time`包中的类,如`LocalDate`和`LocalDateTime`,获取前一天的日期和时间。 18. **文件读写计数器** - 可以使用`FileInputStream`或`BufferedReader`读取文件,`FileOutputStream`或`PrintWriter`...
17. **打印昨天的当前时刻**:可以使用Java日期和时间API,如`java.util.Calendar`或`java.time`包来获取前一天的日期。 以上内容涵盖了Java面试中常见的技术点,对于求职者来说,理解并掌握这些知识是成功面试的...
17. **打印昨天的当前时刻**:使用`java.util.Calendar`或`java.time`包来获取前一天的时间。 18. **文件读写计数器**:可能涉及`FileInputStream`、`FileOutputStream`以及缓冲区操作。 19. **程序运行结果**:这...
在JDK 7中,新增加了一个非常实用的功能——允许开发者直接使用二进制表示整数类型(如`int`、`short`、`long`和`byte`)。这种表示方法使用`0b`或`0B`作为前缀。 例如: - 定义一个8位的`byte`值:`byte aByte = ...
然后,程序计算经过给定天数后的那天是周几,通过取模运算得出结果。逻辑表达式在这里用于判断日期间隔加上当前周日期后的新日期所对应的周日。 **课后题3.9** 该题目的目的是让学生理解并运用条件判断与数组操作...
7. **数组**:一维数组、二维数组和多维数组的创建与操作,以及 Jagged Arrays 和 Multidimensional Arrays 的区别。 8. **集合(Collections)**:介绍ArrayList、LinkedList、Stack、Queue、HashSet、Dictionary...
100天研磨 #(Day1)- JAVA中的异常处理#(Day2)- JAVA中对象的序列化#(Day3)- JAVA字符串程序实践#(Day4)--------字符串的Piglatin转换#(Day5)-- ------字符串中的重复项#(Day6)--------GoldMan Sachs Prev year ...