02
JUIN

Les fonctions in_array() et implode() en Java

Publié le 02/06/09 à 07h15 par Ouark

Les api JAVA implémentent, un grand nombre de fonctions, parmis les plus utiles, pour les chaînes de caractères, mais pas celles d'implode() et in_array(), bien connus des développeurs PHP.

Voici deux manières possibles d'écrire leurs équivalents en JAVA:

Implode : Fusionner les éléments d'un tableau en une chaine de caractère

	/***
	 * Fusionne les éléments d'un tableau en une chaîne
	 * @param delim : la chaîne de séparation
	 * @param args : la tableau
	 * @return la chaîne fusionnée
	 */
	public static String implode(String delim, String[] args){
		StringBuffer sb = new StringBuffer();
		
		for(int i =0; i < args.length; i++){
			if (i++ > 0)
				sb.append(delim);
			
			sb.append(args[i]);
		}
		
		return sb.toString();
	}

 

in_ARRAY : Tester si un élément est contenu dans un tableau

	/***
	 * Teste si un élément est contenu dans un tableau
	 * @param needle : l'élément à rechercher
	 * @param haystack : la tableau
	 * @return true si présent, sinon false
	 */
	public static boolean in_array(Object needle, Object[] haystack) {
		return (Arrays.binarySearch(haystack, needle) >= 0);
	}
Baraguiné par le 15/06/09 à 04h58
Coucou, je voudrais juste précisser quelque chose :
il faut mieux compter le nombre d'elements du tableau et de mettre le résultat dans une variable AVANT de faire la boucle for pour ne pas avoir a recompter les nombre d'element a chaques itérations. Voila, ca optimisera un peu les performances !
Baraguiné par Dominique49 le 24/08/11 à 18h19
Dominique49 sur La Ferme du Web
je crois que ceci est plus performant :

public static String implode(char sep, Object[] ar){
String tmp = "";
for(Object o:ar){
tmp =sep o.toString();
}
return tmp.substring(1, tmp.length());
}
Baraguiné par CharlyLeGredin le 03/07/12 à 18h13
CharlyLeGredin via Twitter
Hello,

La fonction in_array ne fonctionne pas correctement

En effet, elle ne détecte pas l'élément qui est le dernier de mon tableau...

Ajouter un Commentaire

Pour poster un commentaire, vous devez être identifié. Vous pouvez choisir parmi ces trois méthodes d'identification:

Compte la Ferme du Web

Identifiez-vous
Inscrivez-vous

Compte Facebook

Connexion avec Facebook

Compte Twitter

Connexion avec votre compte twitter
Rechercher sur la Ferme du web