黑马程序员技术交流社区
标题:
删除重复元素,求思路
[打印本页]
作者:
浅色寂语66
时间:
2016-8-8 21:42
标题:
删除重复元素,求思路
package cn.itcast.javaee;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
public class Demo02 {
public static void main(String[] args) throws Exception {
/* 3.产生10个1-100的随机数,并放到一个数组中
(1)把数组中大于等于10的数字放到一个list集合中,并打印到控制台。
(2)把数组中小于10的数字放到一个map集合中,并打印到控制台。
(3)把数组中的数字放到当前文件夹的D://number.txt文件中*/
// 需求: 去除数组中重复的数字
// --->第一:HashSet 问题:数字会无序
//--> 再搞一个List 1.遍历数组 2.list.contains() 包含不包含这个元素 -->
//如果包含 不添加
//如果不包含 添加
int [] arr = new int [10];
for(int x = 0 ;x < 10; x++){
int random = new Random().nextInt(100) + 1;//生成0-99 的数 要求是1-100所以+1
arr[x] = random; //将随机数赋值给数组
}
putValueToList(arr);
writeArrToFile(arr);
}
private static void writeArrToFile(int[] arr) throws Exception {
BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\number.txt"));
for (int temp : arr) {
bw.write(temp+"");// 数字+ 字符串 ---> 变成字符串,也能用toString()方法
}
bw.close();
}
private static void putValueToList(int[] arr) {
List<Integer> list = new ArrayList<Integer>();
Map<Integer,Integer> map = new HashMap<Integer,Integer>();
int count = 0;
for(int temp : arr){
if(temp < 10){
//遍历出来的数字小于10
map.put(++count,temp);
}else{
//遍历出来的数字大于10
list.add(temp);
}
}
}
}
作者:
浅色寂语66
时间:
2016-8-9 00:32
静下心来,我很厉害,哈哈哈
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.Reader;
import java.io.Writer;
import java.util.ArrayList;
import java.util.Collections;
public class dianzhaokuozhan {
/*给定一个list集合:{"张柏芝","刘德华","张亮","张靓颖","杨颖","黄晓明"}
1.编写一个方法:将list集合中所有姓张的人员写入到D:\\a.txt中
2.编写一个方法:将D:\\a.txt中所有姓张的人员信息读取出来并打印到控制台上 --->默认不是1问写入的数据
*/
public static void main(String[] args) throws Exception {
ArrayList<String> names=new ArrayList<String>();
Writer out = new FileWriter("D:\\a.txt");
BufferedWriter fw= new BufferedWriter(out);
//向集合中添加元素
Collections.addAll(names, "张柏芝","刘德华","张亮","张靓颖","杨颖","黄晓明");
//遍历集合,以张开头的写在D:\\a.txt
for (String thisname : names) {
if(thisname.startsWith("张")){
fw.write(thisname);
}
}
fw.close();
//读取文件
Reader in = new FileReader("D:\\a.txt");
BufferedReader fr= new BufferedReader(in);
String line = null;
while(null!=(line = fr.readLine())) {
String [] arr=line.split("张");
for (int i = 0; i < arr.length; i++) {
System.out.println("张"+arr[i]);
}
}
fr.close();
}
}
作者:
Maroon
时间:
2016-8-9 00:38
可以可以,我原先做你这题的时候没理解题的意思,Map里还要顺带记录这个数出现了几次
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2