Maison > Java > javaDidacticiel > Retrouver les bases de Java (14) : Résumé des tableaux

Retrouver les bases de Java (14) : Résumé des tableaux

黄舟
Libérer: 2017-01-16 10:15:19
original
1431 Les gens l'ont consulté

Reprendre les bases de java (14) : Récapitulatif des tableaux

Tri des tableaux

 数组排序的核心是:对数组的遍历。     
 1、冒泡排序         
 A、冒泡排序一共需要排序arr.length-1次;具体需要多少轮不确定   这个也需要            
 循环  按最多的轮数进行循B、冒泡排序其实就是arr.lengh-1次数组从第一个开始进行连接两个数的依次比较。           
 相邻的两个数比大小,小的放前面,大的放后面(交换位置)         
 代码为:
 int[] arr = { 6, 9, 8, 3, 4, 6, 8, 1, 2 };        
 for (int i = 0; i < arr.length; i++) {            
 for (int j = 0; j < arr.length - 1; j++) {                
 if (arr[j] < arr[j+1]) {                    
 int temp = arr[j];                    
 arr[j] = arr[j + 1];                    
 arr[j + 1] = temp;                
 }            
 }        
 }        
 for (int i : arr) {            
 System.out.print(i + " ");        
 }       
 2、选择排序          
 A、每一轮反复要做:求出最小值,然后把最小值放到前面(交换位置)       
 第1轮    把最小的    发到   arr[0]       
 第2轮    把次小的    发到   arr[1]          
 B、具体需要多少轮不确定    这个也需要循环  按最多的轮数进行              
 循环  数组.length-1          
  其代码:    
  int[] arr = { 8, 6, 5, 3, 4, 2, 9, 6, 5, 7, 4 };        
  for (int i = 0; i < arr.length - 1; i++) {            
  for (int j = i + 1; j < arr.length; j++) {                
  if (arr[i] > arr[j]) {                    
  int temp = arr[i];                    
  arr[i] = arr[j];                    
  arr[j] = temp;                
  }            
  }        
  }        
  for (int i : arr) {            
  System.out.print(i + " ");        
  }
Copier après la connexion

2, Recherche de tableaux

1、顺序查找算法             
标签的重要性!        
int key=5;        
boolean flag=true;        
for (int i = 0; i < arr.length; i++) {            
if(key==arr[i]){                
System.out.println("yes");                
flag=false;                
break;            
}        
}        
if (flag) {           
 System.out.println("oh,no");        
 }        
 2、二分折半查找算法A、 先确定一个范围,然后找中间只,接下来分三种情况比较B、循环次数不确定  建议用while   
 while(left<=right){        
 循环操作        
 //1.找中间值        
 //2.分三种情况进行比较   
 }
 C、 该算法要求数组必须是有序的    
 // 折半排序        
 int key = 9;        
 int min = 0;        
 int max = arr.length-1;        
 int mid = (min + max) / 
 2;        
 boolean flag = true;////      
 while (key != arr[mid]) {//          
 if (key > arr[mid]) {//              
 min = mid + 1;//          
 }//          
 if (key < arr[mid]) {//              
 max = mid - 1;//          
 }//          
 if (max < min) {//              
 System.out.println("这个数不存在!");//              
 flag = false;//              
 break;//          
 }//          
 mid = (min + max) / 
 2;//      
 }//      
 if (flag) {//          
 System.out.println("这个数在" + mid + "位置。");//      
 }        
 while (min <= max) {            
 if (key < arr[mid]) {                
 max = mid - 1;            
 }            
 if (key > arr[mid]) {                
 min = mid + 1;            
 } else {                
 System.out.println("这个数在" + mid + "位置。");                
 flag = false;                
 break;            
 }            
 mid = (min + max) / 2;        
 
 }        
 if (flag) {            
 System.out.println("这个数在" + (mid+1) + "位置。");        
 }
Copier après la connexion

3. Classe Arrays

  1. Cette classe est une classe d'outils, qui contient principalement quelques paires de données Méthodes fonctionnelles pour les opérations, telles que le tri, la recherche, etc.

2. package java.util

3. Méthode fonctionnelle statique public static void sort(xxx. [] a ), trier le tableau a par ordre croissant public static int binaireSearch(xxx[] a, xxx key), rechercher la clé dans le tableau a via la méthode de recherche binaire public static xxx[] copyOf(xxx[] a , int newLength), En copiant les données de longueur newLength du tableau a dans le nouveau tableau public static xxx[] copyOfRange(xxx[] a , int from , int to), en copiant la plage de données spécifiée du tableau a dans le nouveau array public static boolean equals(xxx[ ] a1, xxx[] a2), comparez les deux tableaux a1 et a2 pour voir s'ils sont identiques

4. Classe de date

  1. Date dans la classe Java, spécialement utilisée pour stocker les données liées à la date et à l'heure

Package java.util

3. seconde = 1000 millisecondes

4 . Obsolète signifie que la méthode existe toujours, mais son utilisation n'est plus recommandée pour garantir la compatibilité ascendante

5 La classe Date n'a pas été conçue dans un souci d'internationalisation.

6. Constructeur public Date(), constructeur sans paramètre, peut créer un objet Date contenant la date et l'heure actuelles (format occidental : jeu. 30 octobre 15:38:46 CST 2014) public Date (long time ), constructeur paramétré, vous pouvez créer un objet date avec des millisecondes de temps depuis 1970-1-1

7 Méthode de fonction public long getTime(), renvoie cet objet Date depuis le 1er janvier 1970 00:00:00. GMT Le nombre de millisecondes représentées. Couramment utilisé pour comparer deux dates.

5. Classe de calendrier

  1. Cette classe est la classe de calendrier en Java

2. Certaines méthodes obsolètes de la classe Date ont été remplacées par des méthodes de cette classe

3 Package java.util

4 Cette classe est une classe abstraite et ne peut pas créer d'objets via le nouveau Calendrier c =. Calendar.getInstance();

5. public static Calendar getInstance(), récupère et renvoie un objet instance de cette classe

6. La méthode de fonction public int get(int field) renvoie la valeur. du champ donné dans l'objet calendrier public void set(int field, int value), définit la valeur du champ donné dans l'objet calendrier public final Date getTime(), renvoie l'objet date et heure dans le calendrier

6. Classe SimpleDateFormat : classe de formatage de date

1. format:格式化 (控制格式或风格)
2. 该类专门用于控制日期时间数据的格式
3. 不同国家或地区使用的日期时间的格式是不一样的
4. 创建出来的对象叫格式化器
5. java.text包
6. 构造方法public SimpleDateFormat(),用默认语言环境的日期格式public SimpleDateFormat(String pattern),用给定的日期格式
7. 功能方法public final String format(Date date),将一个 Date对象格式化为日期/时间字符串。
public Date parse(String source),将字符串解析(转换)为Date对象a.必须进行异常处理
b.该方法要求格式化器对象的格式跟字符串格式必须一样        
// 让用户在控制台输入“dd/mm/yyyy”格式的日期,        
// // 然后人工拼接成“yyyy-mm-dd”格式,最后按“xxxx年x月xx日"              
格式输出 
String s = "1992/08/24"; 
SimpleDateFormat s1 = new SimpleDateFormat("yyyy/MM/dd"); 
Date date = s1.parse(s); 
SimpleDateFormatsDate = new SimpleDateFormat("yyyy-MM-dd"); 
String s2 = sDate.format(date); 
SimpleDateFormat pDate = new SimpleDateFormat("yyyy年MM月dd日"); 
String s3 = pDate.format(date); 
System.out.println("人工拼接成:" + s2 + ",最后输出:" + s3);    
// // 3.计算从今天起,100天后是几月几号,        
// 并以xxxx年xx月xx日的格式输出来        
// (提示:查阅帮助文档自学Calendar类的add方法)        
Calendar c =Calendar.getInstance();        
c.add(Calendar.DAY_OF_YEAR, 100);        
Date date = c.getTime();    
SimpleDateFormat s = new SimpleDateFormat("yyyy年MM月dd日");        
String s1=s.format(date);        
System.out.println(s1);
Copier après la connexion


Ce qui précède est le contenu pour plus de contenu connexe. , veuillez faire attention au site Web PHP chinois (www.php.cn) !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal