最後各人的信息如何?
可選中1個或多個下面的關鍵詞,搜索相關資料。也可直接點「搜索資料」搜索整個問題。
練習題
java
集合
B. 用java編寫程序,求集合的並集、交集和差集
publicstaticvoidmain(String[]args){
Integer[]A={1,2,3,4};
Integer[]B={1,3,7,9,11};
List<Integer>listA=Arrays.asList(A);
List<Integer>listB=Arrays.asList(B);
List<Integer>jiaoji=newArrayList<Integer>();
for(Integera:listA){
if(listB.contains(a)){
jiaoji.add(a);
}
}
System.out.println(jiaoji);
List<Integer>bingji=newArrayList<Integer>();
for(Integera:listA){
if(!bingji.contains(a)){
bingji.add(a);
}
}
for(Integerb:listB){
if(!bingji.contains(b)){
bingji.add(b);
}
}
System.out.println(bingji);
List<Integer>chaji=newArrayList<Integer>();
for(Integera:listA){
if(!listB.contains(a)){
chaji.add(a);
}
}
System.out.println(chaji);
}
C. Java面試題-基礎+集合原理(一)
—、面向對象的特徵
面向對象的三個基本特徵是:封裝、繼承、多態。
1、封裝
封裝最好理解了。封裝是面向對象的特徵之一,是對象和類概念的主要特性。 封裝,也就是把客觀事物封裝成抽象的類,並且類可以把自己的數據和方法只讓 可信的類或者對象操作,對不可信的進行信息隱藏。
2、繼承
面向對象編程(OOP)語言的一個主要功能就是「繼承」。繼承是指這樣一種能力: 它可以使用現有類的所有功能,並在無需重新編寫原來的類的情況下對這些功能 進行擴展。
3、多態
多態性(polymorphism是允許你將父對象設置成為和一個或更多的他的子對象 相等的技術,賦值之後,父對象就可以根據當前賦值給它的子對象的特性以不同 的方式運作。簡單的說,就是一句話:允許將子類類型的指針賦值給父類類型的 指針。
實現多態,有二種方式,重寫,重載。
詳見如下:網頁鏈接
D. 數構java題,集合類,急求
按照題目的要求編寫的Java程序如下
importjava.util.ArrayList;
importjava.util.List;
importjava.util.Scanner;
publicclassSetClass{
char[]a;
publicstaticvoidmain(String[]args){
SetClasss=newSetClass();
Scannersc=newScanner(System.in);
Strings1=sc.next();
Strings2=sc.next();
s.a=s1.toCharArray();
char[]b=s2.toCharArray();
char[]c=s.intersect(b);
if(c==null||c.length==0){
System.out.println("null");
}else{
System.out.println(String.valueOf(c));
}
}
publicchar[]intersect(char[]b){
List<Character>la=newArrayList<Character>();
List<Character>lb=newArrayList<Character>();
for(inti=0;i<a.length;i++)
la.add(a[i]);
for(inti=0;i<b.length;i++)
lb.add(b[i]);
la.retainAll(lb);
char[]c=newchar[la.size()];
for(inti=0;i<la.size();i++)
c[i]=la.get(i);
returnc;
}
}
運行結果
ABC BBB
B
E. Java集合程序題求大神解答
先創建一個學生類,然後以學生類的學號做鍵,學生對象做值加入map集合,然後執行相應的操作就可以了。
F. 有誰會java的編程題
public void taohaoshu(){
/**
最多有100個元素自己判斷,我只給模擬演算法
*/
int ishu = 0;//初始化好數對數的個數是0
//模擬集合A
Integer[] a = {1,2,3,4};
List aList = Arrays.asList(a);
List tempList = new ArrayList();//定義一個數組存放已配過對的數值
//遍歷集合,讓不同的元素各相加一次
for(int i = 0;i<aList.size();i++){
Integer num1 = (Integer) aList.get(i);
for(int j = 0;j<aList.size();j++){
//自身和自身不能相加
if(i == j){
continue;
}
Integer num2 = (Integer) aList.get(j);
Integer sum = num1 +num2;
//判斷相加後的數值是否在原集合中存在
boolean contains = aList.contains(sum);
String tempStr = null;
if(num1<=num2){
tempStr = num1+""+num2;
}else{
tempStr = num2+""+num1;
}
//判斷是否出現相同的好數對數出現 比如1+2 和 2+1
boolean contains1 = tempList.contains(tempStr);
if(contains && !contains1){
tempList.add(tempStr);
ishu++;
}
}
}
System.out.println(ishu);
}
G. java集合題
呵呵我記得這是培訓班的第3周的考試試題,其實很簡單
class Student {
int id;
String name;
String kemu;
int chengji;
}
根據這個做數組把這三個元素放到對應的數組就完事
idT[]
nameT[]
kemu[]
chengji[]
然後
System.out.print("id:"+id[n]+"name:"+name[n]+"科目:"+kemu[x]+""+.....);
H. Java 編程基礎題:io流和集合綜合相關的題目不會做,哪位大神來看一下
此需求的關鍵點主要是兩個:
1、IO讀取文本信息;
2、TreeSet的排序問題。
解決過程如下:
首先通過TreeSet(Comparator<? super E>comparator) 構造方法指定TreeSet的比較器進行排序,而創建自己的實現比較器。
packagetest.treeset;
importjava.util.Comparator;
<Student>{
@Override
publicintcompare(Studentstu1,Studentstu2){
if(stu1.getScore()>stu2.getScore()){
return-1;
}elseif(stu1.getScore()==stu2.getScore()){
if(stu1.getAge()>stu2.getAge()){
return-1;
}elseif(stu1.getAge()==stu2.getAge()){
return0;
}else{
return1;
}
}else{
return1;
}
}
}
創建學生Bean類
packagetest.treeset;
importjava.io.Serializable;
{
privateStringname;
privateintage;
privateintscore;
publicStudent(Stringname,intage,intscore){
this.name=name;
this.age=age;
this.score=score;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetAge(){
returnage;
}
publicvoidsetAge(intage){
this.age=age;
}
publicintgetScore(){
returnscore;
}
publicvoidsetScore(intscore){
this.score=score;
}
@Override
publicStringtoString(){
returnname+"-"+age+"-"+score;
}
}
創建實現類,實現對文件的讀取已經將讀取內容實例化入Student中,添加入TreeSet中排序,之後順序列印TreeSet數據。
packagetest.treeset;
importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.io.UnsupportedEncodingException;
importjava.util.TreeSet;
/**
*已知項目根目錄下student_info.txt文件中有如下數據:(姓名-年齡-總分)
*lucy-28-98
*lily-23-97
*robt-25-100
*wili-15-100
*klin-29-93搜索
*運用IO技術獲取將該文件中的數據分別封裝成5個Student(姓名為String類型,年齡為int類型,總分為int類型)對象存入TreeSet集合中(需要自己定義Student類)
*要求:
*根據學生的總分進行排序(降序),如果分數相同則比較年齡,年齡較大的排在前面。
*按照排序完的順序將所有信息列印到控制台上:
*列印格式如下:
*robt-25-100
*wili-15-100
*lucy-28-98
*lily-23-97
*klin-29-93
*/
publicclassIoReadTest{
publicstaticvoidmain(String[]args){
TreeSet<Student>set=newTreeSet<Student>(newMyComparator());
try{
FileInputStreamfis=newFileInputStream(newFile("D:\student_info.txt"));
InputStreamReaderisr=newInputStreamReader(fis,"UTF-8");
BufferedReaderbr=newBufferedReader(isr);
Stringstr="";
while((str=br.readLine())!=null){
String[]info=str.split("-");
Stringname=info[0];
intage=Integer.parseInt(info[1]);
intscore=Integer.parseInt(info[2]);
Studentstudent=newStudent(name,age,score);
set.add(student);
}
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(UnsupportedEncodingExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
for(Studentstudent:set){
System.out.println(student);
}
}
}
運行後輸出結果
robt-25-100
wili-15-100
lucy-28-98
lily-23-97
klin-29-93